Download Continuacion Poo

Document related concepts
no text concepts found
Transcript
Curso de Java
Capitulo 7:
Continuación Poo
Profesor:
Aníbal Martínez Aguas
Contenido
•
•
•
•
•
•
•
•
¿Qué es un objeto?
Sobre escritura (Over write)
Herencia
Clase abstracta
Interface
Polimorfismo
Eventos
Mensajes
¿Qué es un objeto?
• Un objeto está formado por una serie de características o
datos (atributos) y una serie de operaciones métodos). No
puede concebirse únicamente en función de los datos o de
las operaciones sino en su conjunto.
¿Qué es un objeto?
• Un objeto en un sistema posee:
Una identidad, un estado y un comportamiento.
– El estado marca las condiciones de existencia del objeto dentro del programa.
Lógicamente este estado puede cambiar. Un coche puede estar parado, en marcha,
estropeado, funcionando, sin gasolina, etc.
– El comportamiento determina como responde el objeto ante peticiones de otros objetos.
Por ejemplo un objeto conductor puede lanzar el mensaje arrancar a un coche. El
comportamiento determina qué es lo que hará el objeto.
– La identidad determina que cada objeto es único aunque tengan el mismo valor. No existen
dos objetos iguales. Lo que sí existe es dos referencias al mismo objeto.
Herencia
•
la herencia es el mecanismo que permite crear clases basadas en otras existentes.Es decir la clase nueva adquiere
todos los métodos y atributos de la clase antecesora.
•
La nueva clase puede definir nuevos atributos y métodos o incluso puede redefinir atributos y métodos ya existentes
(por ejemplo: cambiar el tipo de un atributo o las operaciones que realiza un determinado método).
•
Esta propiedad permite la reutilización del código, siendo muy fácil aprovechar el código de clases ya existentes,
modificándolas mínimamente para adaptarlas a las nuevas especificaciones.
•
A la clase padre se le denomina superclase y a la clase hija subclase
•
Permite esconder o sobre escribir miembros heredados
•
En java se utiliza la palabra reservada [Extends] para indicar que es una clase derivada.
•
Java no permite herencia múltiple.
•
Si una clase se ha declarado como final indica que no se puede Heredar de ella, lo mismo ocurre con sus
métodos ya que indica que no puede ser sobrescritos.
Sobreescritura
• No puede cambiar un método declarado static para hacerlo no-static.
• El sobrescrito debe tener el mismo valor de retorno.
• Los parámetros deben ser el mismo número y del respectivo tipo, en el mismo
orden.
• No puedes sobrescribir un método para hacerlo menos accesible. Ejemplo
• generará error sobrescribir un método public y declararlo protected. Lo
contrario es posible.
– Si el método a sobrescribir tiene una declaración throws:
– El método sobrescrito tendrá throws también.
– Cada excepción incluida en la sentencia throws deberá estar en el método sobrescrito o
una subclase de este.
– Si el método sobrescrito tiene throws el método a sobrescribir no tiene que tenerlo.
Clase abstracta
• Poseen métodos de este tipo (métodos abstractos).
• Son clases creadas para ser heredadas por nuevas clases
creadas por el programador. Son clases base para
herencia.
• Las clases abstractas no deben de ser instanciadas (no se
pueden crear objetos de las clases abstractas).
Interfaz
• Una interface es un conjunto de declaraciones de funciones.
• Las interfaces pueden definir también variables finales.
• Una interface puede derivar de otra interface o incluso de varias
interfaces
• Una interface sirve para crear referencias a objetos. Cuando el
nombre de un objeto es de un tipo de interface, a través de dichos
nombres solo se puede utilizar los métodos declarados por dicha
interfaz .
• Los métodos no tienen código.
Polimorfismo
• Se deriva del griego Poly (muchos), morphos (forma), esto
en POO significa la posibilidad que tiene una identidad para
referirse a instancia de clases diferentes en tiempo de
ejecución.
• El polimorfismo permite referirse a objeto de diferentes
clases por medio del mismo elemento del programa y
realizar la misma operación de diferentes formas.
• Consiste en la posibilidad de que diversos objetos actúen de
modo diferente en respuesta a una misma llamada.
Eventos
• Un evento es un objeto que es lanzado por un objeto y
enviado a otro objeto llamado escuchador (listener). Un
evento se lanza (o se dispara, fire) cuando ocurre una
determinada situación (un clic de ratón, una pulsación de
tecla,...).
Eventos
• Se compone de tres objetos base implicados:
– El objeto fuente. Que es el objeto que lanza los eventos. Dependiendo del tipo de objeto
que sea, puede lanzar unos métodos u otros. El hecho de que dispare esos eventos no
significa que el programa tenga que, necesariamente, realizar una acción. Sólo se ejecuta
una acción si hay un objeto escuchando.
– El objeto escuchador u oyente (listener). Se trata del objeto que recibe el evento
producido. Es el objeto que captura el evento y ejecuta el código correspondiente. Para
ello debe implementar una interfaz relacionada con el tipo de evento que captura.
Eventos
• El objeto de evento. Se trata del objeto que es enviado
desde el objeto fuente al escuchador. Según el tipo de
evento que se haya producido se ejecutará uno u otro
método en el escuchador.
Mensages
• Los mensajes en java son enunciados dirigidos al usuario
con el fin de permitir la interacción con la maquina o
simplemente informar o capturar datos y a la vez dar un
resultado.
• Un mensaje podría ser un Hola mundo. Digite su nombre ,
su nombre es : , etc