Академический Документы
Профессиональный Документы
Культура Документы
Computacin
PROGRAMACIN 2
Abril-Agosto 2017
Deber
1. Tema: Herencia y Polimorfismo
2. Marco Terico:
Herencia y Polimorfismo en Java
A continuacin se explicaran algunos ejemplos para entender de manera prctica los
conceptos de herencia y polimorfismo.
Herencia
A) Creamos un proyecto en nuestro IDE, por ejemplo Herencia y Polimorfismo, tal
como se muestra en la siguiente imagen:
La clase concede utiliza la palabra clave extends eso quiere decir que
automticamente la clase acepta recibe todo lo que le da la clase concede.
E) La clase principal.- crearemos una nueva instancia del tipo acepta y nuestra clase
principal quedara de la siguiente manera:
Al escribir este ejemplo en algn IDE, se verifica que al escribir herencia. tenemos
disponible el mtodo estoyEscribiendo, pero que sucede si la clase acepta no tiene
ningn mtodo, la magia est en la palabra extends que est en acepta que le
permite heredar de la clase concede.
En este caso la clase que proporciona el cdigo es la super clase y la clase que hereda
el cdigo es la sub clase.
Al ejecutar (Run) la clase Herencia obtendremos el siguiente resultado:
Polimorfismo
Mediante el polimorfismo podemos variar las propiedades de un objeto que ha
heredado de otra clase, veamos esto siguiendo con nuestro cdigo, aado las
siguientes lneas:
Mediante el polimorfismo podemos hacer que la clase acepta que es la que extiende
a todas las propiedades de concede pueda modificar aquellos datos que recibe, en
nuestro ejemplo haremos lo siguiente:
Este es un ejemplo claro de polimorfismo ya que la clase acepta est heredando todo
lo que tiene la clase concede, lo que realizamos en esta clase es aadir un
polimorfismo y sobre escribir lo que heredamos, es decir tenemos estoyEscribiendo
que hemos heredado pero estamos sobrescribiendo lo que he heredado, en pocas
palabras estoy sobrescribiendo el mtodo que he heredado cambiando el mensaje que
voy a desplegar.
Para aclarar un poco ms la idea, voy a realizar un cambio en la clase concede de tal
manera que quede de la siguiente manera:
Como podrn apreciar he aadido un mtodo ms a la clase concede y la clase
principal quedara de la siguiente manera:
Cdigo
package claseprin;
import java.util.ArrayList;
import java.util.Scanner;
int aux=0;
while(aux!=3)
aux=d.nextInt();
if(aux!=3)
if(aux==1)
e.leer();
es.add(e);
else
pr.leer();
p.add(pr);
pers.imp(p,es);
Clase persona
package claseprin;
import java.util.ArrayList;
import java.util.Scanner;
String nombre;
System.out.println("Deme la cedula");
for(int x=0;x<10;x++)
cedula[x]=dt.nextInt();
System.out.println("Deme el nombre");
dt.nextLine();
nombre=dt.nextLine();
for(int x=0;x<p.size();x++)
per=p.get(x);
System.out.println("Cedula:");
for(int i=0;i<10;i++)
System.out.print(per.cedula[i]);
System.out.println("\nNombre : "+per.nombre);
}
Clase estudiante
package claseprin;
import java.util.ArrayList;
int credi;
super(nombre);
this.credi=credi;
@Override
super.leer();
System.out.println("Numero de creditos");
credi=dt.nextInt();
@Override
super.imp(p, es);
Clase profesor
package claseprin;
import java.util.ArrayList;
public class profesor extends persona
int carga;
super(nombre);
this.carga=carga;
@Override
super.leer();
System.out.println("Carga horaria");
carga=dt.nextInt();
@Override
super.imp(p, es);
Corrida
4. Conclusiones y recomendaciones