You are on page 1of 10

DIRECCIN GENERAL DE EDUCACIN SUPERIOR TECNOLGICA

INSTITUTO TECNOLGICO DE SALINA CRUZ


ALUMNO:
ALVARO DE JESS RAMOS GARCA
CATEDRATICO:
M.C. SUSANA MONICA ROMAN NAJERA
TEMA:
Herencia y polimorfismo
SEMESTRE: 2 GRUPO: E2

CARRERA:
ING. EN TECNOLOGIAS DE LA INFORMACIN Y DE LAS COMUNICACIONES.

SALINA CRUZ OAXACA A JUNIO 2014
INTRODUCION
La herencia es uno de los mecanismos de los lenguajes de programacin orientada a
objetos basados en clases, por medio del cual una clase se deriva de otra de manera que
extiende su funcionalidad.
El lenguaje Java permite el empleo de la herencia, caracterstica que permite definir una
clase tomando como base a otra clase ya existente.
Esto es una de las bases de la reutilizacin de cdigo, en lugar de copiar y pegar.
La herencia se considera como un concepto fundamental en la programacin orientada a
objetos ya que esta puede hacer relaciones con otras clases de manera jerrquica.
A continuacin observara el funcionamiento de una clase y una subclase la forma en que se
accede y el funcionamiento del polimorfismo.

HERENCIA Y POLIMORFISMO
Herencia
La herencia es, despus de la agregacin o composicin, el mecanismo ms utilizado para
alcanzar algunos de los objetivos ms preciados en el desarrollo de software como lo son la
reutilizacin y la extensibilidad. A travs de ella los diseadores pueden crear nuevas clases
partiendo de una clase o de una jerarqua de clases preexistente (ya comprobadas y
verificadas) evitando con ello el rediseo, la modificacin y verificacin de la parte ya
implementada. La herencia facilita la creacin de objetos a partir de otros ya existentes e
implica que una subclase obtiene todo el comportamiento (mtodos) y eventualmente los
atributos (variables) de su superclase.
Es la relacin entre una clase general y otra clase ms especfica. Por ejemplo: Si
declaramos una clase prrafo derivada de una clase texto, todos los mtodos y variables
asociadas con la clase texto, son automticamente heredados por la subclase prrafo.
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 OOP. 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.

Hay dos tipos de herencia: Herencia Simple y Herencia Mltiple. La primera indica que se
pueden definir nuevas clases solamente a partir de una clase inicial mientras que la segunda
indica que se pueden definir nuevas clases a partir de dos o ms clases iniciales. Java slo
permite herencia simple.

La herencia nos permite desviar una nueva clase a partir de una existente, las clases
existentes es conocida como clase madre, o superclase o clase base, la clase derivada
tambin es conocida como clase hija o subclase.
La herencia permite a los programadores crear una jerarqua entre un grupo de clases que
tienen caractersticas similares, la herencia es una forma de realizar de cdigo.
Como su nombre lo implica la clase hija hereda caractersticas de la clase madre, la clase
hija hereda los mtodos y datos definidos para la clase madre.
Para ajustar una clase derivada el programador puede agregar nuevos datos y/o mtodos, o
puede modificar los heredados
La herencia son propiedades esenciales de la POO que consiste en la creacin de nuevas
clases a partir de otras ya existentes, cuando una clase hereda de otra, contendr los
mtodos y atributos de la clase padre; La herencia permite:

La realizacin del cdigo
Aadir nuevos comportamientos a las clases hijas
La redefinicin de comportamientos
Creacin de clasificaciones jerrquicas de clases.
Los aspectos generales como: class claseHija extends clasePadre{}
Representa una relacin es un
extends especifica que la clase hija hereda datos y mtodos de clases padre, aunque
hereda todo, la clase hija solo tiene acceso a los miembros de la clase padre con
modificadores public, protected, o package(ovacio), las situaciones excepcionales, puede
interesar definir una variable en ala subclase con el mismo nombre que la superclase (se
tendra hueco diferentes de memoria)
La herencia es una de las tres caractersticas ms importantes en la POO porque permiten
que una clase herede los atributos y mtodos de otra clase (Los constructores no se heredan,
estos son prropios de la clase a la que pertenecen). Esta caracteristica permite la
reutilizacin del cdigo.

Con la herencia todas las clases estn clasificadas en una jerrqua estricta. Cada clase tiene
una superclase (la clase superior en la jerarqua) tambin llamada clase base y cada clase
puede tener una o ms subclases tambin llamadas clases derivadas. Adems hereda todas
las variables y los mtodos definidos por la superclase y agrega us elementos nicos.


Ejemplo de herencia:
Class Punto{
Int x;
Int y;
Punto(int x, int y){
This.x=x;
This.y=y;
}
Punto(){ this(0,0);}
}
Class Punto3D extends Punto{
Int z;
Punto3D(int x, int y, int z){
int x;
int y;
int z;
}
Punto3D(){this(0,0);}
}














POLIMORFISMO
Se denomina polimorfismo a la capacidad que tiene los objetos de una clase de responder
al mismo mensaje o evento en funcin de los parmetros utilizados durante su invocacin.
Un objeto polimrfico es una entidad que puede contener valores de diferentes tipos
durante la ejecucin del programa.
El polimorfismo consiste en conseguir un objeto de una clase se comporte como un objeto
de cualquier de sus subclases, una forma de conseguir objetos polimrficos es mediante el
uso de puntero ala superclase.
De esa forma podemos tener dentro de una misma estructura (arrays, listas, pilas, colas)
objetos de distancias subclase, haciendo que el tipo de base de dichas estructuras sea un
puntero a la superclase. Ejemplo en java es:
Superclase sup=new (Superclase);
El polimorfismo consiste en obtener un mismo mtodo con diferentes funciones, es decir,
suponiendo que tengamos una clase Saludo con el mtodo Saludo el cual sera su
constructor, pero en este caso tendramos varios constructores pero siempre siguiendo las
reglas de independencia en cuestin a los parmetros de cada constructor para que as
puedan diferenciarse uno de otro, sin embargo cada uno tendr diferentes procesos internos
en s mismo.
Polimorfismo es la capacidad de un objeto de adquirir varias formas. El uso ms comn de
polimorfismo en programacin orientada a objetos se da cuando se utiliza la referencia de
una clase padre, para referirse al objeto de la clase hijo.
Cualquier objeto java que pueda pasar ms de un test "ES-UN" es considerado polimrfico.
En Java, todos los objetos son polimrficos ya que cualquier objeto pasara un test "ES-
UN" dado que son de su propio tipo, adems del de la clase Object.
Es importante saber que la nica manera de acceder a un objeto es a travs de una variable
de referencia. La variable de referencia slo puede ser de un tipo. Una vez declarado el tipo
de la variable de referencia, no se puede cambiar.
La variable de referencia puede ser reasignada a otros objetos, siempre y cuando no haya
sido declarada "final". El tipo de la variable de referencia, determina los mtodos que
podrn ser llamados sobre el objeto.
Una variable de referencia puede hacer referencia a cualquier objeto o cualquier subtipo de
su propio tipo.

El polimorfismo se refiere a la propiedad por la que es posible enviar mensajes
sintcticamente iguales a objetos de tipos distintos. El nico requisito que deben cumplir
los objetos que se utilizan de manera polimrfica es saber responder al mensaje que se les
enva.
Se puede clasificar el polimorfismo en dos grandes clases:
Polimorfismo dinmico (o polimorfismo paramtrico) es aqul en el que el cdigo no
incluye ningn tipo de especificacin sobre el tipo de datos sobre el que se trabaja. As,
puede ser utilizado a todo tipo de datos compatible.
Polimorfismo esttico (o polimorfismo ad hoc) es aqul en el que los tipos a los que se
aplica el polimorfismo deben ser explcitos y declarados uno por uno antes de poder ser
utilizados.
El polimorfismo dinmico unido a la herencia es lo que en ocasiones se conoce
como programacin genrica.
Tambin se clasifica en herencia por redefinicin de mtodos abstractos y por mtodo
sobrecargado. El segundo hace referencia al mismo mtodo con diferentes parmetros.
Ejemplo de polimorfismo:


CONCLUCION


En java, como ya vimos la herencia se especifica agregando la clusula extends despus
del nombre de la clase.
En la clusula extends se indicara el nombre de la clase base de la cul queremos heredar.
En este lenguaje al heredar de una clase padre, heredaremos los mtodos como los
atributos, mientras que los constructores son utilizados, pero estos no son heredados.

OTRAS FUENTES


Herencia.y.polimorfismo.en.lines.pagina.conusultada.el.dia.5.Junio.del.2014.en:http
://www.slideshare.net/m
Herencia.en.lines.pagina.conusultada.el.dia.5.Junio.del.2014.en:arionet_92/herencia
-programacin-orientada-a-objetos
Herencia.en.lines.pagina.conusultada.el.dia.5.Junio.del.2014.en:http://www.escet.ur
jc.es/~emartin/docencia0809/poo/4.-HerenciaYPolimorfismo-SinSols-4dxh.pdf
Herencia.en.lines.pagina.conusultada.el.dia.5.Junio.del.2014.en:http://profesores.fi-
b.unam.mx/carlos/java/java_basico3_4.html
Polimorfismo.en.lines.pagina.conusultada.el.dia.5.Junio.del.2014.en:https://sites.go
ogle.com/site/programacionbasicajava/herencia
Polimorfismo.en.lines.pagina.conusultada.el.dia.5.Junio.del.2014.en::http://todoenja
va.blogspot.mx/2012/01/polimorfismo.html
Polimorfismo.en.lines.pagina.conusultada.el.dia.5.Junio.del.2014.en:http://cursos.ai
u.edu/Lenguajes%20de%20Programacion%20Orientados%20a%20Objetos/PDF/Te
ma%204b.pdf
Polimorfismo.en.lines.pagina.conusultada.el.dia.5.Junio.del.2014.en:http://es.wikipe
dia.org/wiki/Polimorfismo_(inform%C3%A1tica)#Clasificaci.C3.B3n

You might also like