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