05 Creando Clases

2,483 views
2,393 views

Published on

FactoriaJava.com - Desarrollo Java

Curso Desarrollo y Gestión de Aplicaciones Web con Tecnología Java

Tema 03 - Módulo 05 - Creando clases

Published in: Technology
2 Comments
2 Likes
Statistics
Notes
No Downloads
Views
Total views
2,483
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
0
Comments
2
Likes
2
Embeds 0
No embeds

No notes for slide

05 Creando Clases

  1. 1. MÓDULO 3<br />INTRODUCCIÓN A JAVA<br />3.5 CREANDO CLASES<br />40 HORAS<br />Jesús Muñoz<br />jesus@iluego.com<br />
  2. 2. Contenidos tema 3 – Introducción a Java<br />Comenzamos<br />Bases del lenguaje Java<br />Programación Orientada a Objetos (OOP)<br />Clases y objetos<br />Creando clases<br />Paquetes y java classpath<br />Javabeans<br />Herencia<br />Clases abstractas e interfaces<br />Polimorfismo<br />Clases internas<br />Excepciones<br />Logging<br />Networking<br />2<br />
  3. 3. 3<br />Contenidos de este tema<br />Clases y objetos<br />Definiendo clases propias<br />Variables instancia vs. clase<br />Variables instancia<br />Variables clase<br />Declaración de métodos<br />Getters y setters<br />Múltiples returns<br />Métodos static<br />Sobrecarga de métodos<br />Constructores<br />Constructor this<br />Referencia this<br />Modificadores de acceso<br />
  4. 4. Conceptos básicos<br />4<br />Clases y objetos<br />Definiendo clases propias<br />Variables instancia vs. clase<br />Variables instancia<br />Variables clase<br />Declaración de métodos<br />Getters y setters<br />Múltiples returns<br />Métodos static<br />Sobrecarga de métodos<br />Constructores<br />Constructor this<br />Referencia this<br />Modificadores de acceso<br />
  5. 5. 5<br />Definiendo clases propias<br />public class StudentRecord {<br />//código…<br />}<br />
  6. 6. Conceptos básicos<br />6<br />Clases y objetos<br />Definiendo clases propias<br />Variables instancia vs. clase<br />Variables instancia<br />Variables clase<br />Declaración de métodos<br />Getters y setters<br />Múltiples returns<br />Métodos static<br />Sobrecarga de métodos<br />Constructores<br />Constructor this<br />Referencia this<br />Modificadores de acceso<br />
  7. 7. 7<br />Variables instancia vs. clase<br />Variables instancia<br />Pertenece a la instancia<br />El valor de la variable es diferente de una instancia a otra<br />Variables clase (static variables)<br />Pertenece a la clase<br />Esto significa que el comparte el valor para todas las instancias de la misma clase<br />
  8. 8. Conceptos básicos<br />8<br />Clases y objetos<br />Definiendo clases propias<br />Variables instancia vs. clase<br />Variables instancia<br />Variables clase<br />Declaración de métodos<br />Getters y setters<br />Múltiples returns<br />Métodos static<br />Sobrecarga de métodos<br />Constructores<br />Constructor this<br />Referencia this<br />Modificadores de acceso<br />
  9. 9. 9<br />Variables instancia<br />Declarar cada variable en una línea<br />Las variables de instancia, como otras variables, deben comenzar con letra minúscula<br />Usar un tipo de datos apropiado para cada variable declarada<br />Declarar las variables como privadas, de tal forma que sólo los métodos de la instancia puedan acceder a ellas<br />Encapsulación<br />
  10. 10. Conceptos básicos<br />10<br />Clases y objetos<br />Definiendo clases propias<br />Variables instancia vs. clase<br />Variables instancia<br />Variables clase<br />Declaración de métodos<br />Getters y setters<br />Múltiples returns<br />Métodos static<br />Sobrecarga de métodos<br />Constructores<br />Constructor this<br />Referencia this<br />Modificadores de acceso<br />
  11. 11. 11<br />Variables clase<br />public class StudentRecord {<br />//static variables we have declared<br />private static int studentCount;<br />//we'll add more code here later<br />}<br />Usamos la palabra reservada static<br />
  12. 12. Conceptos básicos<br />12<br />Clases y objetos<br />Definiendo clases propias<br />Variables instancia vs. clase<br />Variables instancia<br />Variables clase<br />Declaración de métodos<br />Getters y setters<br />Múltiples returns<br />Métodos static<br />Sobrecarga de métodos<br />Constructores<br />Constructor this<br />Referencia this<br />Modificadores de acceso<br />
  13. 13. 13<br />Declaración de MÉTODOS<br />public class StudentRecord {<br />private String name;<br />// some code<br />// An example in which the business logic is<br />// used to return a value on an accessor method<br />public double getAverage(){<br />double result = 0;<br />result=(mathGrade+englishGrade+scienceGrade)/3;<br />return result;<br />}<br />}<br />
  14. 14. 14<br />Declaración de MÉTODOS<br />Los métodos deben:<br />Comenzar con letra minúscula<br />Deben ser verbos<br />Añadir documentación suficiente antes de la declaración del método. Javadoc style.<br />
  15. 15. Conceptos básicos<br />15<br />Clases y objetos<br />Definiendo clases propias<br />Variables instancia vs. clase<br />Variables instancia<br />Variables clase<br />Declaración de métodos<br />Getters y setters<br />Múltiples returns<br />Métodos static<br />Sobrecarga de métodos<br />Constructores<br />Constructor this<br />Referencia this<br />Modificadores de acceso<br />
  16. 16. 16<br />Getters y Setters<br />Son métodos que ofrecen acceso de lectura (get) y escritura (set) a las propiedades de la instancia o de la clase.<br />
  17. 17. Conceptos básicos<br />17<br />Clases y objetos<br />Definiendo clases propias<br />Variables instancia vs. clase<br />Variables instancia<br />Variables clase<br />Declaración de métodos<br />Getters y setters<br />Múltiples returns<br />Métodos static<br />Sobrecarga de métodos<br />Constructores<br />Constructor this<br />Referencia this<br />Modificadores de acceso<br />
  18. 18. 18<br />Múltiples RETURNS<br />En un método se pueden tener múltiples sentencias de return<br />public String getNumberInWords( int num ){<br />String defaultNum = "zero";<br />if( num == 1 ){<br />return "one"; //return a constant<br />}<br />else if( num == 2){<br />return "two"; //return a constant<br />}<br />//return a variable<br />return defaultNum;<br />}<br />
  19. 19. Conceptos básicos<br />19<br />Clases y objetos<br />Definiendo clases propias<br />Variables instancia vs. clase<br />Variables instancia<br />Variables clase<br />Declaración de métodos<br />Getters y setters<br />Múltiples returns<br />Métodos static<br />Sobrecarga de métodos<br />Constructores<br />Constructor this<br />Referencia this<br />Modificadores de acceso<br />
  20. 20. 20<br />Métodos STATIC<br />public class StudentRecord {<br />private static int studentCount;<br />public static int getStudentCount(){<br />return studentCount;<br />}<br />}<br />
  21. 21. Conceptos básicos<br />21<br />Clases y objetos<br />Definiendo clases propias<br />Variables instancia vs. clase<br />Variables instancia<br />Variables clase<br />Declaración de métodos<br />Getters y setters<br />Múltiples returns<br />Métodos static<br />Sobrecarga de métodos<br />Constructores<br />Constructor this<br />Referencia this<br />Modificadores de acceso<br />
  22. 22. 22<br />Sobrecarga de métodos<br />Sobrecarga de métodos:<br />Permite varios métodos con el mismo nombre aunque con diferente implementacion y diferentes tipos de valores<br />Puede ser usado cuando la misma operación tiene diferentes implementaciones<br />Recordar siempre que los métodos sobrecargados tienen las siguientes propiedades:<br />Mismo nombre de método<br />Diferentes parámetros o diferente número de parámetros<br />Tipos de datos de retorno distintos o iguales<br />
  23. 23. 23<br />Sobrecarga de métodos<br />Sobrecarga de métodos:<br />Permite varios métodos con el mismo nombre aunque con diferente implementacion y diferentes tipos de valores<br />Puede ser usado cuando la misma operación tiene diferentes implementaciones<br />Recordar siempre que los métodos sobrecargados tienen las siguientes propiedades:<br />Mismo nombre de método<br />Diferentes parámetros o diferente número de parámetros<br />Tipos de datos de retorno distintos o iguales<br />
  24. 24. 24<br />Sobrecarga de métodos<br />public void print ( String temp ){<br />System.out.println("Name:" + name);<br />System.out.println("Address:" + address);<br />System.out.println("Age:" + age);<br />}<br />public void print (double eGrade, double mGrade,<br />double sGrade)<br />System.out.println("Name:" + name);<br />System.out.println("Math Grade:" + mGrade);<br />System.out.println("English Grade:" + eGrade);<br />System.out.println("Science Grade:" + sGrade);<br />}<br />
  25. 25. 25<br />Sobrecarga de métodos<br />public static void main( String[] args )<br />{<br />StudentRecord annaRecord = new StudentRecord();<br />annaRecord.setName("Anna");<br />annaRecord.setAddress("Philippines");<br />annaRecord.setAge(15);<br />annaRecord.setMathGrade(80);<br />annaRecord.setEnglishGrade(95.5);<br />annaRecord.setScienceGrade(100);<br />//overloaded methods<br />annaRecord.print( annaRecord.getName() );<br />annaRecord.print( annaRecord.getEnglishGrade(),<br />annaRecord.getMathGrade(),<br />annaRecord.getScienceGrade());<br />}<br />
  26. 26. Conceptos básicos<br />26<br />Clases y objetos<br />Definiendo clases propias<br />Variables instancia vs. clase<br />Variables instancia<br />Variables clase<br />Declaración de métodos<br />Getters y setters<br />Múltiples returns<br />Métodos static<br />Sobrecarga de métodos<br />Constructores<br />Constructor this<br />Referencia this<br />Modificadores de acceso<br />
  27. 27. 27<br />Constructores<br />Los constructores son importantes en la instanciación de objetos. Es un método especial en el cual se definen las inicializaciones.<br />Características de un constructor:<br />Los constructores tienen el mismo nombre de clase<br />Un constructor es como un método ordinario, sin embargo sólo se puede definir lo siguiente en la cabecera del constructor:<br />Scope de accesibilidad (public, protected, private)<br />Parámetros si hay<br />Los constructores no pueden retornar ningún valor<br />No se puede llamar a un constructor directamente, sólo puede ser llamado mediante el uso del operador new durante la instanciación<br />Se puede sobrecargar<br />
  28. 28. Conceptos básicos<br />28<br />Clases y objetos<br />Definiendo clases propias<br />Variables instancia vs. clase<br />Variables instancia<br />Variables clase<br />Declaración de métodos<br />Getters y setters<br />Múltiples returns<br />Métodos static<br />Sobrecarga de métodos<br />Constructores<br />Constructor this<br />Referencia this<br />Modificadores de acceso<br />
  29. 29. 29<br />Constructor THIS<br />Las llamadas al constructor pueden ser encadenadas, es decir, desde un constructor se puede llamar a otro<br />Usamos this() para esta llamada<br />Hay varias cosas a recordar cuando usamos el constructor this():<br />Ha de ser la primera sentencia del constructor<br />Sólo puede usarse en la definición de un constructor. Esta llamada puede ir seguida de otras llamadas más o menos relevantes.<br />
  30. 30. Conceptos básicos<br />30<br />Clases y objetos<br />Definiendo clases propias<br />Variables instancia vs. clase<br />Variables instancia<br />Variables clase<br />Declaración de métodos<br />Getters y setters<br />Múltiples returns<br />Métodos static<br />Sobrecarga de métodos<br />Constructores<br />Constructor this<br />Referencia this<br />Modificadores de acceso<br />
  31. 31. 31<br />Referencia THIS<br />La referencia this:<br />Referencia la instancia de objeto actual<br />Usado para el acceso a las variables de la instancia para diferenciarlas de los parámetros<br />Para usar la referencia a this, usamos:<br />this.<nombreDeLaInstancia><br />Sólo se pueden referenciar las instancias, pero no las clases estáticas<br />
  32. 32. Conceptos básicos<br />32<br />Clases y objetos<br />Definiendo clases propias<br />Variables instancia vs. clase<br />Variables instancia<br />Variables clase<br />Declaración de métodos<br />Getters y setters<br />Múltiples returns<br />Métodos static<br />Sobrecarga de métodos<br />Constructores<br />Constructor this<br />Referencia this<br />Modificadores de acceso<br />
  33. 33. 33<br />Modificadores de acceso<br />Hay 4 tipos diferentes de modificadores de acceso:<br />public (menos restrictivo)<br />protected<br />private (más restrictivo), default<br />Los 3 modificadores de acceso son escritos explícitamente en el código para indicar los tipos de acceso. Private es el que se usa por defecto si no se pone nada.<br />
  34. 34. 34<br />Modificadores de acceso<br />Hay 4 tipos diferentes de modificadores de acceso:<br />public (menos restrictivo)<br />protected<br />private (más restrictivo), default<br />Los 3 modificadores de acceso son escritos explícitamente en el código para indicar los tipos de acceso. Private es el que se usa por defecto si no se pone nada.<br />
  35. 35. Es importante que recordeis…<br />“Si haces todos los días lo mismo no llegarás más lejos de lo que otras veces has llegado”<br />Adelante!!!<br />Jesús Muñoz<br />jesus@iluego.com<br />

×