Está en la página 1de 4

Actividad No.

Nombre:

Cristian Rodolfo Osoy Sánchez.

Carnet:

2910-23-22444

Catedrático:

Lic. Carlos Barrera.

Carrera:

Ingeniería civil

Curso:

Programación ll

Fecha De Entrega:

02 de septiembre de 2023

Sección: A

Universidad Mariano Gálvez


Investigar:

En programación orientada a objetos, ¿qué es herencia? 

La herencia en programación orientada a objetos (POO) es un concepto


fundamental que permite la creación de nuevas clases basadas en clases
existentes. En otras palabras, la herencia permite que una clase (llamada "clase
hija" o "subclase") herede propiedades y comportamientos de otra clase (llamada
"clase padre" o "superclase"). Esto significa que la clase hija puede reutilizar y
extender las características de la clase padre.

En la mayoría de los lenguajes de programación orientada a objetos, la herencia


se logra utilizando la palabra clave "extends" o una construcción similar para
declarar que una clase hereda de otra.

 Superclase y Subclases

El concepto de herencia conduce a una estructura jerárquica de clases o


estructura de árbol, lo cual significa que en la POO todas las relaciones entre
clases deben ajustarse a dicha estructura.

En esta estructura jerárquica, cada clase tiene sólo una clase padre. La clase
padre de cualquier clase es conocida como su superclase. La clase hija de una
superclase es llamada una subclase.

* Una superclase puede tener cualquier número de subclases.

* Una subclase puede tener sólo una superclase.

o A es la superclase de B, C y D.
o D es la superclase de E.
o B, C y D son subclases de A.
o E es una subclase de D.
¿Qué ventajas nos proporciona la herencia en programación?

La herencia en programación orientada a objetos (POO) proporciona varias


ventajas clave que mejoran la estructura y la eficiencia del código. Aquí hay
algunas ventajas importantes de la herencia:
1. Reutilización de Código: La herencia permite la reutilización de código al
permitir que las clases hijas hereden atributos y métodos de las clases padres.
Esto significa que no tienes que volver a escribir el mismo código una y otra vez, lo
que ahorra tiempo y esfuerzo.
2. Organización y Jerarquía: La herencia facilita la organización de las clases en
una jerarquía lógica. Puedes tener una clase base que representa un concepto
general y luego clases derivadas que representan conceptos más específicos.
Esto hace que el código sea más estructurado y fácil de entender.
3. Extensibilidad: Las clases hijas pueden agregar nuevos atributos y métodos o
modificar los existentes heredados de las clases padres. Esto significa que puedes
extender y adaptar el comportamiento de las clases existentes sin modificar
directamente su código fuente, lo que es útil para la evolución y mantenimiento del
software.
4. Polimorfismo: La herencia permite el polimorfismo, que es la capacidad de
diferentes clases de responder de manera diferente a los mismos métodos. Esto
facilita la creación de código más genérico y flexible, ya que puedes tratar objetos
de diferentes clases de manera uniforme si tienen una interfaz común.
5. Facilita la Abstracción: La herencia es una forma de abstracción que te
permite modelar conceptos del mundo real de manera más precisa en tu código.
Puedes representar objetos del mundo real y sus relaciones de una manera más
natural.
6. Facilita la Mantenibilidad: La herencia facilita la modificación y mantenimiento
del código. Si necesitas realizar cambios en el comportamiento de una clase, solo
necesitas hacerlo en un lugar (en la clase base) y esos cambios se reflejarán en
todas las clases derivadas.
7. Promueve la coherencia y la consistencia: Al definir propiedades y métodos
comunes en una clase base, puedes asegurarte de que todas las clases derivadas
sigan un conjunto consistente de reglas y comportamientos.
8. Facilita la colaboración en equipo: La herencia ayuda a los equipos de
desarrollo a trabajar de manera más eficiente. Cuando múltiples programadores
están trabajando en un proyecto, tener una estructura de clases basada en
herencia puede ayudar a que todos comprendan mejor la arquitectura y la lógica
del programa.
9. Reduce el código redundante: Al agrupar características comunes en una
clase base, se reduce la duplicación de código en el programa, lo que disminuye la
posibilidad de errores y hace que el código sea más mantenible.
Sin embargo, es importante usarla con cuidado y en el contexto adecuado para
evitar problemas de diseño complejo o confuso.

También podría gustarte