Herencia y Polimorfismo.

Herencia, Polimorfismo, Tipos de Clases.

Iniziamo. È gratuito!
o registrati con il tuo indirizzo email
Herencia y Polimorfismo. da Mind Map: Herencia y Polimorfismo.

1. En el ejemplo que se presenta sobre la herencia se tiene que el vehículo es la super clase, el taxi y el autobús son las subclases, ya que pueden existir un gran número de vehículos que comparten atributos pero cada vehículo tiene métodos y atributos diferentes, como el tamaño, peso, tipo de licencia, cilindraje, etc. Pero todos heredan atributos y métodos de su clase padre como lo son las matriculas, modelo, etc.

2. https://educandocs.com/wp-content/uploads/2020/11/EJemploHErencia.jpg

3. Herencia.

3.1. En la programación orientada a objetos es la habilidad de extender una funcionalidad existente definiendo una nueva clase que hereda funcionalidad de una clase existente.

3.1.1. Si contamos con una clase que se acerca a lo que necesitamos; no es necesario crear una clase desde cero. Podemos aprovecharla y extenderla para crear nuestra nueva clase.

3.1.2. Esta nueva clase se llamara subclase y la clase que ya teníamos se llamara superclase.

3.1.3. La subclase heredara todos los atributos y los métodos que fueron definidos en la clase padre. Si necesitamos cambiar algún método, se puede sobrescribir el comportamiento en nuestra subclase; utilizando el mismo nombre y los mismos argumentos del método que se encuentra en la subclase.

3.2. Ilustración en el siguiente link.

3.2.1. Ejemplo de herencia.

4. Una clase puede heredar atributos por dos superclases (clases padres).

5. Una clase que declara la existencia de métodos pero no la implementación de dichos métodos (o sea, las llaves { } y las sentencias entre ellas), se considera una clase abstracta.

5.1. Una clase abstracta puede contener métodos no-abstractos pero al menos uno de los métodos debe ser declarado abstracto.

6. Polimorfismo.

6.1. En programación orientada a objetos, el polimorfismo se refiere a la propiedad por la que es posible enviar mensajes sintácticamente iguales a objetos de tipos distintos. El único requisito que deben cumplir los objetos que se utilizan de manera polimórfica es saber responder al mensaje que se les envía.

6.1.1. Se puede clasificar el polimorfismo en dos grandes clases:

6.1.1.1. Polimorfismo dinámico (o polimorfismo paramétrico) es aquel en el que el código no incluye ningún tipo de especificación sobre el tipo de datos sobre el que se trabaja. Así, puede ser utilizado a todo tipo de datos compatible.

6.1.1.2. Polimorfismo estático (o polimorfismo ad hoc) es aquél en el que los tipos a los que se aplica el polimorfismo deben ser explícitos y declarados uno por uno antes de poder ser utilizados.

7. Tipos de clases.

7.1. Una clase base es aquella que no dependen ninguno de sus atributos u objetos de la clase de alguna otra clase, se podría decir que en términos de herencia, seria la clase padre, la clase que se mantiene fija, en el aspecto de herencia.

7.1.1. Definición de una clase derivada.

7.1.1.1. Son clases que dependen de las clases bases, ya que algunos de sus métodos son también heredados, y muchas veces, el compilador arrojara malos resultados, ya que al ser dependientes estas clases, a veces podrán generar errores lógicos.

7.1.2. Clases abstractas.

7.1.3. Definición de una clase base.

7.1.3.1. Una clase base es aquella que no dependen ninguno de sus atributos u objetos de la clase de alguna otra clase, se podría decir que en términos de herencia, seria la clase padre, la clase que se mantiene fija, en el aspecto de herencia.

7.1.4. Interfaces.

7.1.4.1. Las Interfaces son usadas para indicar qué métodos debe obligatoriamente implementar (contener) una Clase (aunque no tienen por qué comportarse del mismo modo).

8. public interface NombreDeMiInterface{ sentencias_que_va_a_cumplir; } class NombreDeMiClase implements NombreDeMiInterface{ sentencias; }

9. Bibliografía. https://es.wikipedia.org/wiki/Polimorfismo_(inform%C3%A1tica) UNIDAD 4: HERENCIA Y POLIMORFISMO - Educandocs

10. Nombre : Giselle Cervantes Jacintos. Carrera : Ingeniería en Sistemas Computacionales.