El documento describe el origen y desarrollo del lenguaje de programación Java. Java se creó originalmente en 1991 por un equipo de Sun Microsystems para proyectos de electrónica de consumo. Más tarde, en 1995, Java se expandió cuando se incluyó un intérprete de Java en el navegador Netscape Navigator, lo que permitió el desarrollo de applets para la World Wide Web. Java ha continuado evolucionando y ganando popularidad desde entonces como un lenguaje orientado a objetos, portable, robusto y seguro para aplicaciones web e Internet.
38. Elementos básicos de java Abstract default if private throw Boolean do implements protected throws Break double import public transient Byte else instanceof return try case extends int short void catch final interface static volatile char finally long super whle class float native switch ---- Const For New Synchronized ---- continue Goto Package This ----
67. Jerarquía Ejemplo de otro árbol La herencia es el mecanismo fundamental de relación entre clases en la orientación a objetos. Relaciona las clases de manera jerárquica; una clase padre o superclase sobre otras clases hijas o subclases . En todo lenguaje orientado a objetos existe una jerarquía, mediante la que las clases se relacionan en términos de herencia. En Java, el punto más alto de la jerarquía es la clase Object de la cual derivan todas las demás clases.
68.
69.
70. Por ejemplo, creamos una clase MiPunto3D , hija de la clase ya mostrada MiPunto : class MiPunto3D extends MiPunto { int z; MiPunto3D( ) { x = 0; // Heredado de MiPunto y = 0; // Heredado de MiPunto z = 0; // Nuevo atributo } } Ejemplo: Declaración de Herencia La palabra clave extends se utiliza para decir que deseamos crear una subclase de la clase que es nombrada a continuación, en nuestro caso MiPunto3D es hija de MiPunto .
71.
72. Crear una Interface Para crear una interface, se utiliza la palabra clave interface en lugar de class. La interface puede definirse public o sin modificador de acceso, y tiene el mismo significado que para las clases. Todos los métodos que declara una interface son siempre public. Para indicar que una clase implementa los métodos de una interface se utiliza la palabra clave implements. El compilador se encargará de verificar que la clase efectivamente declare e implemente todos los métodos de la interface. Una clase puede implementar más de una interface.
73. Ejemplo: Declaración y uso Una interface se declara: interface nombre_interface { tipo_retorno nombre_metodo ( lista_argumentos ) ; . . . } Por ejemplo: interface InstrumentoMusical { void tocar(); void afinar(); String tipoInstrumento(); }
74. una clase que implementa la interface: class InstrumentoViento extends Object implements InstrumentoMusical { void tocar() { . . . }; void afinar() { . . .}; String tipoInstrumento() {} } class Guitarra extends InstrumentoViento { String tipoInstrumento() { return "Guitarra"; } } La clase InstrumentoViento implementa la interface, declarando los métodos y escribiendo el código correspondiente. Una clase derivada puede también redefinir si es necesario alguno de los métodos de la interface. Declaración y uso
75.
76.
77. Limitaciones en la herencia Todos los campos y métodos de una clase son siempre accesibles para el código de la misma clase. Para controlar el acceso desde otras clases, y para controlar la herencia por las subclase, los miembros (atributos y métodos) de las clases tienen tres modificadores posibles de control de acceso: public : Los miembros declarados public son accesibles en cualquier lugar en que sea accesible la clase, y son heredados por las subclases. private : Los miembros declarados private son accesibles sólo en la propia clase. protected : Los miembros declarados protected son accesibles sólo para sus subclases Limitaciones en la herencia
80. E t i m o l o g í a… POLI : muchas MORFISMO : formas
81. Es la capacidad que tienen los objetos de una clase de responder al mismo mensaje o evento en función de los parámetros utilizados durante su invocación. ¿Qué es?
82. Polimorfismo Clase Figura Método Dibujar() Triángulo Círculo Dibujar() Dibujar() (sobrecarga) Figura[] figuras = new figura[2]; figuras[0]= new triangulo(); figuras[1]= new circulo(); for (i=0;i<2;i++) { figuras[i].dibujar(); } clase clase Ahora creamos un arreglo de clases figuras
83. Esta característica de que varios objetos de distintas clases puedan recibir el mismo mensaje y ser capaces de responderlo es conocido como Polimorfismo
84. POLIMORFISMO el término Polimorfismo también es asociado con un concepto llamado “Late-Binding” (Ligamiento Tardío), por ejemplo: Inicialmente se puede pensar que este código generaría un error debido a que el tipo de referencia es distinta a la instancia del objeto, sin embargo, el fragmento anterior es correcto y demuestra el concepto de Polimorfismo. Figura a = new Circulo(); Figura b = new Triangulo();
85. El polimorfismo es una habilidad de tener varias formas; por ejemplo, la clase Jefe tiene acceso a los métodos de la clase Empleado. Un objeto tiene sólo una forma. Una variable tiene muchas formas, puede apuntar a un objeto de diferentes maneras. CARACTERÍSTICAS
86. En Java hay una clase que es la clase padre de todas las demás: java.lang.Object. Un método de esta clase (por ejemplo: toString() que convierte cualquier elemento de Java a cadena de caracteres), puede ser utilizada por todos. Java permite apuntar a un objeto con una variable definida como tipo de clase padre. CARACTERÍSTICAS
87. CARACTERÍSTICAS Sólo se puede acceder a las partes del objeto que pertenecen a la clase Empleado; las partes específicas de la clase Jefe no se ven. Este efecto se consigue porque, para el compilador, e es sólo una variable de tipo Empleado, no Jefe EMPLEADO E = new JEFE(); e.departamento = "Finanzas"; //Incorrecto