Mapa mental
Polimorfismo

Conteúdo do mapa
Polimorfismo
Clases Derivadas
- La clase denominada derivada que se crea a partir de otra ya existente, que seria la clase base
- Ejemplo: si tenemos una clase Universidad y se crea otra clase llamada Estudiante, la clase Estudiante puede derivarse de la clase Universidad
- Esto quiere decir que la clase derivada y la clase base tienen datos en comunes
- Para trabajar en Java con herencia es necesario utilizar la extencion ("extends")
- Con esto heredamos todos los datos de la clase base siempre y cuando los datos no esten en privado(private).
- La sobre carga de métodos se da cuando se tienen dos métodos nombrados de la misma manera y en la misma clase pero tienen diferentes parametros
- Con esto heredamos todos los datos de la clase base siempre y cuando los datos no esten en privado(private).
- Para trabajar en Java con herencia es necesario utilizar la extencion ("extends")
- Esto quiere decir que la clase derivada y la clase base tienen datos en comunes
- Ejemplo: si tenemos una clase Universidad y se crea otra clase llamada Estudiante, la clase Estudiante puede derivarse de la clase Universidad
- La clase denominada derivada que se crea a partir de otra ya existente, que seria la clase base
Herencia Publica
- Existen 4 secciones publicas, privadas, protegidas, y por defecto
- Elemento de tipo publico(public): este puede acceder tanto a las clases del mismo paquete como a clases de otros paquetes
- Elemento de tipo privado(private): estos elementos no pueden acceder a ninguna otra clase, así este en el mismo paquete
- Elemento de tipo protegido(protected): Puede acceder a clases solo si están en el mismo paquete mas no a clases de otros paquetes
- Elemento de tipo Por defecto(default): Es idéntica al elemento de tipo publico
- Existen 4 secciones publicas, privadas, protegidas, y por defecto
Constructores en Herencia
- En consecuencia, al construir un objeto de clase derivada, primero se construye la parte de su clase base, llamando a su constructor y despues si se puede iniciar los objetos de la clase derivada
- Para esto se tienen 4 reglas: 1) El constructor de la clase base se crea primero que el de la clase derivada. 2) Si una clase es base y a la vez es derivada se procede a hacer la primera regla. 3) Los métodos que implementan a los constructores no se heredan . 4) Si no hay constructor en la clase base, se invoca el constructor sin argumentos.
- Cuando se crea el constructor de la clase derivada la primera linea debe invocar el constructor de la clase base y es por medio de super() y los argumentos que se quieran transmitir se agregan dentro de los parentesis
- Los métodos heredados de la clase base pueden ser llamados desde cualquier método de la clase derivada, simplemente se escribe su nombre y la lista de argumentos.
- El método de la clase base ocultado puede ser llamado desde cualquier método de la clase derivada con la referencia super seguida de un punto ( . ) el nombre del método y la lista de argumentos:
- La palabra reservada super permite acceder a cualquier miembro de la clase base (siempre que no sea privado).
- El método de la clase base ocultado puede ser llamado desde cualquier método de la clase derivada con la referencia super seguida de un punto ( . ) el nombre del método y la lista de argumentos:
- Los métodos heredados de la clase base pueden ser llamados desde cualquier método de la clase derivada, simplemente se escribe su nombre y la lista de argumentos.
- Cuando se crea el constructor de la clase derivada la primera linea debe invocar el constructor de la clase base y es por medio de super() y los argumentos que se quieran transmitir se agregan dentro de los parentesis
- Para esto se tienen 4 reglas: 1) El constructor de la clase base se crea primero que el de la clase derivada. 2) Si una clase es base y a la vez es derivada se procede a hacer la primera regla. 3) Los métodos que implementan a los constructores no se heredan . 4) Si no hay constructor en la clase base, se invoca el constructor sin argumentos.
- En consecuencia, al construir un objeto de clase derivada, primero se construye la parte de su clase base, llamando a su constructor y despues si se puede iniciar los objetos de la clase derivada
Métodos y clases no derivables
- En el contexto de herencia se utiliza una palabra clave que es final y se utiliza para que ese metodo no pueda ser modificado por la clase derivada.
- Si java a la hora de compilar ve que se quiere modificar este error se va a mostrar un error.
- El concepto de protección que implica final también se extiende a las clases. Una clase que no se quiere que sea clase base de otras clases se declara con el atributo final.
- Si java a la hora de compilar ve que se quiere modificar este error se va a mostrar un error.
- En el contexto de herencia se utiliza una palabra clave que es final y se utiliza para que ese metodo no pueda ser modificado por la clase derivada.
Conversión entre objetos de clase derivada y clase base
- Al declarar una clase como extensión o derivada de otra clase, los objetos de la clase derivada son a su vez objetos de la clase base.
- Podemos decir que una clase derivada es un objeto de una clase base
- Una clase base no puede ser objeto de una clase derivada
- Podemos decir que una clase derivada es un objeto de una clase base
- Al declarar una clase como extensión o derivada de otra clase, los objetos de la clase derivada son a su vez objetos de la clase base.
Métodos Abstractos
- Un método abstracto quiere decir que ese método sera redefinido en la clase derivada
- Cuando uno o más métodos son definidos como abstracto se considera que toda la clase es abstracta y esta con la palabra clave "abstract"
- Una clase que no redefina un método abstracto se convierte en clase abstracta
- En las clases abstractas no se pueden crear objetos ya que java a la hora de compilar va a botar un error
- Las clases abstractas están en lo mas alto de la jerarquía de las clases, son llamadas superClases base y por esto siempre debe a ver una clase derivada
- En las clases abstractas no se pueden crear objetos ya que java a la hora de compilar va a botar un error
- Una clase que no redefina un método abstracto se convierte en clase abstracta
- Cuando uno o más métodos son definidos como abstracto se considera que toda la clase es abstracta y esta con la palabra clave "abstract"
- Un método abstracto quiere decir que ese método sera redefinido en la clase derivada
Polimorfismo
- El POO permite que varios objetos respondan de diferente manera al mismo mensaje. El POO adquiere su maxima potencia cuando se utiliza la herencia.
- POO: polimorfismo
- Para utilizar el POO debe seguir los siguientes pasos: 1) crear una clase base de tipo abstracta. 2) Se debe definir los métodos abstractos en la clase derivada. 3) Las instancias de estas clases se manejan a través de una referencia a la clase base. Este mecanismo es la ligadura dinámica, que es la esencia del polimorfismo en Java.
- Las ventajas de usar el POO son: 1) Es derivar clases especializadas de clases que han sido definidas. 2) A veces es muy útil poder manipular conjuntos similares de objetos. 3) Las jerarquías de clases son colecciones de clases altamente estructuradas, con relaciones de herencia que se pueden extender fácilmente.
- El POO permite que varios objetos respondan de diferente manera al mismo mensaje. El POO adquiere su maxima potencia cuando se utiliza la herencia.
Interfaces
- Es declarar que todos los métodos de una clase son públicos y abstractos, con lo que se especifica el comportamiento común de todas las clases que implementen la interfaz, eso quiere decir que no todos los métodos sean definidos como publicos y abstractos.
- La interfaz especifica el comportamiento común que tiene un conjunto de clases. Esto es una implementación de interfaz es como utiliazar la sintaxis de extención pero esta vez se utiliza implements y al lado se coloca la clase de tipo interfaz.
- Una clase implementa tantas interfaces como se desee. Se deben implementar todos los métodos como public debido a que Java no permite reducir la visibilidad de un método cuando se sobreescibe .
- Las interfaces se pueden organizar en forma jerárquica, de tal forma que los métodos sean heredados. Las interfaces no son clases, especifican un comportamiento (métodos) que va a tener la clase que lo implementa. Por ello, una clase puede heredar de su clase base y a la vez implementar una interfaz.
- Las interfaces , al no ser clases, tampoco pueden instanciar objetos. Sí se pueden declarar variables de tipo interface ; cualquier variable de una clase que implementa a una interfaz se puede asignar a una variable del tipo de la interfaz
- Las interfaces se pueden organizar en forma jerárquica, de tal forma que los métodos sean heredados. Las interfaces no son clases, especifican un comportamiento (métodos) que va a tener la clase que lo implementa. Por ello, una clase puede heredar de su clase base y a la vez implementar una interfaz.
- Una clase implementa tantas interfaces como se desee. Se deben implementar todos los métodos como public debido a que Java no permite reducir la visibilidad de un método cuando se sobreescibe .
- La interfaz especifica el comportamiento común que tiene un conjunto de clases. Esto es una implementación de interfaz es como utiliazar la sintaxis de extención pero esta vez se utiliza implements y al lado se coloca la clase de tipo interfaz.
- Es declarar que todos los métodos de una clase son públicos y abstractos, con lo que se especifica el comportamiento común de todas las clases que implementen la interfaz, eso quiere decir que no todos los métodos sean definidos como publicos y abstractos.
REFERANCIA: Yojanes Aguilar , Luis, and Zohonero Martínez, Ignacio. Estructuras de datos en Java. Madrid, ES: McGraw-Hill España, 2008. ProQuest ebrary. Web. 13 September 2017. Copyright © 2008. McGraw-Hill España. All rights reserved.
Imagens e arquivos do mapa
Informações
- Descrição
- Informática Mapa Mental sobre Polimorfismo, criado por Gonzalo Cucaita Camargo em 12-09-2017.
- Criado por
- Gonzalo Cucaita Camargo
- Visualizações
- 0
- Avaliação
Mais sobre Herencia y polimorfismo
