Está en la página 1de 4

Universidad Nacional de Chimborazo

Facultad de Ingeniera
Escuela Sistemas y Computacin
Programacion II

TERCER SEMESTRE
Realizado Por:
Danny Daniel Cceres Lobato
Tutor:
Ing.Pamela Buay
FECHA DE ENTREGA
Junio 06 del 2015
PERIODO ACADEMICO
ABRIL-AGOSTO 2015

HERENCIA
La herencia y el polimorfismo son herramientas para organizar
jerarquias de tipo y simplificar la comunicacion.
La herencia permite que la definicion formal de lo comun se exprese
para un conjunto de objetos .El proceso de definir nuevos tipos y
reutilizar el codigo desarrollado antes en definiciones de la clase base
se denomina programacion por herencia .
La herencia es la transmisin del cdigo entre unas clases y otras.
Para soportar un mecanismo de herencia tenemos dos clases: la clase
padre y la/s clase/s hija/s. La clase padre es la que transmite su
cdigo a las clases hijas.
La herencia es un mecanismo que permite la definicin de una clase
a partir de la definicin de otra ya existente. La herencia permite
compartir automticamente mtodos y datos entre clases, subclases
y objetos.
La herencia est fuertemente ligada a la reutilizacin del cdigo en la
POO. Esto es, el cdigo de cualquiera de las clases puede ser utilizado
sin ms que crear una clase derivada de ella, o bien una subclase.

EJEMPLO
Supongamos que tenemos una clase "Persona" con los mtodos y
propiedades bsicas de una objeto persona como podrian ser
"caminar" o "hablar", podramos tener otras clases como "Guillermo"
o "Elder" que comparten todas las caractersticas de una "Persona"
pero que aaden caractersticas propias. Por lo que "Guillermo" y
"Elder" pueden realizar las mismas funciones que puede realizar una

"Persona" y adems cada una puede realizar las suyas propias, por
ejemplo, "Guillermo" sabe nadar pero "Elder" no, y "Elder" sabe bailar
reggeton pero "Guillermo" no.
En terminos de programacin estaramos diciendo que "Guillermo" y
"Elder" son dos clases especializadas que heredan o extienden de la
superclase "Persona".
Tipos de herencia
Herencia Simple
La herencia simple consiste en que una clase hereda nicamente de
otra. La relacin de herencia hace posible utilizar, desde la instancia,
los atributos de la clase padre.

Herencia Multiple
La herencia mltiple es similar en comportamiento a la sencilla, con
la diferencia que una clase hija tiene uno o ms clases padre.

La herencia mltiple presenta el conocido problema del diamante.


Est problema surge cundo dos clases heredan de otra tercera y,
adems una cuarta clase tiene cmo padre a las dos ltimas. La
primera clase padre es llamada A y las clases B y C heredan de ella, a
su vez la clase D tiene cmo padres a B y C. En est situacin, si una
instancia de la clase D llama a un mtodo de la clase A, lo heredar
desde la clase B o desde la clase C?. Cada lenguaje de programacin
utiliza un algoritmo para tomar est decisin. En el caso particular de
Python, se toma cmo referencia que todas las clases descienden de
la clase padre object. Adems, se crea una lista de clases que se
buscan de derecha a izquierda y de bajo arriba, posteriormente se
eliminan todas las apariciones de una clase repetida menos la ltima.
De est manera queda establecido un orden. Debido a las
ambigedades que pueden surgir de la utilizacin de la herencia
mltiple, son muchos los desarrolladores que deciden emplearla lo
mnimo posible, debido a que, dependiendo de la complejidad del
diagrama de herencia, puede ser muy complicado establecer su
orden y se pueden producir errores no deseados en tiempo de
ejecucin. Por otro lado, si mantenemos una relacin sencilla, la
herencia mltiple es un til aliado a la hora de representar objetos y
situaciones de la vida real.

También podría gustarte