Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Herencia
que algún familiar lejano nos ha podido dejar una fortuna, ya nos gustaría. En realidad,
el mecanismo por el cual una clase permite heredar las características (atributos y
La herencia permite que se puedan definir nuevas clases basadas de unas ya existentes
a fin de reutilizar el código, generando así una jerarquía de clases dentro de una
aplicación. Si una clase deriva de otra, esta hereda sus atributos y métodos y puede añadir
Estoy seguro de que cuando has leído “reutilizar” se te ha hecho la boca agua ¿verdad?
No hay nada mejor en programación que poder usar el mismo código una y otra vez
para hacer nuestro desarrollo más rápido y eficiente. El concepto de herencia ofrece
mucho juego. Gracias a esto, lograremos un código mucho más limpio, estructurado y
con menos líneas de código, lo que lo hace más legible (Llinás, 2010).
En Java debemos tener claro cómo llamar a la clase principal de la que heredamos y
aquella que hereda de ella, así, clase que se hereda se denomina superclase. La clase que
hereda se llama subclase. Por lo tanto, una subclase es una versión especializada de una
superclase. Hereda todas las variables y métodos definidos por la superclase y agrega sus
diferentes tipos de herencia que podemos usar para hacer todavía más eficiente nuestro
debemos tener en cuenta es que solo puede existir una superclase, como veremos en los
Herencia única: donde las subclases heredan las características de solo una
superclase.
Herencia Multinivel: una clase derivada heredará una clase base y, además, la clase
Herencia Jerárquica: una clase sirve como una superclase (clase base) para más de
una subclase.
Herencia Múltiple (a través de interfaces): una clase puede tener más de una
superclase y heredar características de todas las clases principales. Pero Java no admite
herencia múltiple con clases, así que para lograrlo tenemos que usar Interfaces(Joyanes
Luis, 2011).
herencia anteriores. Como Java no admite herencia múltiple con clases, la herencia
híbrida tampoco es posible con clases, pero como en el ejemplo anterior, podemos lograr
En Java, cada clase solo puede derivarse de otra clase. Esa clase se llama superclase,
Utiliza la palabra clave extends para identificar la clase que extiende su subclase. Si
raíz de todas las jerarquías de herencia; Es la única clase en Java que no se extiende de
otra clase.
método. esto podría servir por ejemplo para ser usados para proteger la información o
mejor dicho definir cómo nuestro programa accede a ella. Es decir, los modificadores de
acceso afectan a las entidades y los atributos a los que puede acceder dentro de una
misma clase, y por todas las demás clases dentro del mismo paquete. Se puede acceder a
los atributos o métodos protegidos (protected) dentro de la misma clase, por todas las
clases dentro del mismo paquete y por todas las subclases(Martinez, 2012).
La siguiente tabla muestra el acceso a los miembros permitido por cada modificador:
Tabla 1. Muestra el acceso a los miembros acceder a un atributo o método (Martinez, 2012).
Terminología importante:
Subclase: la clase que hereda la otra clase se conoce como subclase (o una clase
derivada, clase extendida o clase hija). La subclase puede agregar sus propios campos y
queremos crear una clase nueva y ya hay una clase que incluye parte del código que
queremos, podemos derivar nuestra nueva clase de la clase existente. Al hacer esto,
POLIMORFISMO
Definición: El polimorfismo es una relajación del sistema de tipos, de tal manera que
vector) acepta direcciones de objetos de dicha clase y de sus clases derivadas (hijas,
estamos aprendiendo Programación Orientada a Objetos (también conocida por sus siglas
POO / OOP) muchos estudiantes nos hacemos un embolado tremendo al tratar de entender
Trataremos de explicarlo en este artículo con palabras sencillas, pero para los valientes,
aquí va una primera definición que no es mía y que carece de la prometida sencillez. Pero
modo, el objeto como entidad puede contener valores de diferentes tipos durante la
parámetros’, que así de pronto no suena tan divertido, pero como veremos más adelante
Datos del estudiante Fecha
induce a cierta confusión. En realidad, suele confundirse con el tipo de poliformismo más
común, pero no es del todo exacto usar esta denominación (Martinez, 2012).
Ejemplo de Polimorfismo
distintas: Gato y Perro, que heredan de la superclase Animal. La clase Animal tiene el
método abstracto makesound() que se implementa de forma distinta en cada una de las
subclases (gatos y perros suenan de forma distinta). Entonces, un tercer objeto puede
enviar el mensaje de hacer sonido a un grupo de objetos Gato y Perro por medio de una
variable de referencia de clase Animal, haciendo así un uso polimórfico de dichos objetos
Tipos de polimorfismo:
nombre en clases que son completamente independientes una de la otra (Joyanes Luis,
2008).
parámetros (nombre o tipo). Se selecciona el método dependiendo del tipo de datos que
Inclusión: Es cuando se puede llamar a un método sin tener que conocer su tipo, así
no se toma en cuenta los detalles de las clases especializadas, utilizando una interfaz
Polimorfismo paramétrico
Aquí el método demo() se sobrecarga 3 veces: el primer método tiene 1 parámetro int,
el segundo método tiene 2 parámetros int y el tercero tiene un parámetro doble. Por lo
que para lidiar con esta variedad el método que se llamará está determinado por los
Polimorfismo de inclusión
La habilidad para redefinir por completo el método de una superclase en una subclase
define un método que existe en una superclase con una lista de argumentos (si se define
Luis, 2008).
Datos del estudiante Fecha
Bibliografía:
file:///C:/Users/dell/Downloads/Estructura%20de%20datos%20en%20java%20J
oyanes%201ed.pdf
file:///C:/Users/dell/Downloads/Programacion-en-java-6-Luis-Joyanes-
Aguilar.pdf
Martinez, J. (2012). Fundamentos de programación en Java (1.a ed., Vol. 1). Univerdad
Complutense de Madrid.
https://www.academia.edu/28946526/Fundamentos_de_Programacion_en_Java_
Jose_Martinez_Ladron_de_Guevara
http://ebookcentral.proquest.com/lib/utnortesp/detail.action?docID=5759019
Sánchez Allende, J., Huecas Fernández-Toribio, G., & Moreno Díaz, P. (2005).
http://ebookcentral.proquest.com/lib/utnortesp/detail.action?docID=3195078
Datos del estudiante Fecha