Beruflich Dokumente
Kultur Dokumente
A. FUNDAMENTACIÓN: HERENCIA
Herencia
La herencia nos permite definir una clase como extensión de otra es decir, una súper clase deriva o
hereda ciertos atributos y funciones a una subclase
Una característica esencial de la herencia es que permite evitar la duplicidad de código, es decir
aquello que es común a varias clases, se escribe una sola vez (en la súper clase o clase base).
Una clase que deriva o hereda de otra clase se indica mediante la palabra reservada extends
En java muchas clases pueden heredar de una misma súper clase y a su vez una subclase puede
convertirse en súper clase de otra.
La herencia es una técnica de abstracción que nos permite agrupar objetos con características
comunes.
B. DESCRIPCIÓN:
Éste laboratorio está formado por 2 ejercicios:
C. OBJETIVO:
Conocer el funcionamiento correcto de las herencias y en qué circunstancias utilizarlas
D. PROYECTO:
Analizar el funcionamiento de las herencias de forma correcta dentro del lenguaje “java” en
base a los requerimientos.
E. TAREAS A REALIZAR:
Realizar los algoritmos solicitados.
F. ANÁLISIS:
EJERCICIO 1:
ANÁLISIS DE DATOS:
ANÁLISIS DE FUNCIONES:
EJERCICIO 2:
ANÁLISIS DE DATOS:
ANÁLISIS DE FUNCIONES:
G. DISEÑO:
Ejercicio 1:
DISEÑO LÓGICO:
Persona
- nombre :
- apellido :
- edad :
+ Persona ()
+ getNombre ()
+ getApellido ()
+ getEdad ()
Profesor
- idProfesor :
+ Profesor ()
+ setIdProfesor ()
+ getIdProfesor ()
+ mostrarNombreApellidoCarnet ()
DISEÑO FÍSICO:
Persona
- nombre : String
- apellido : String
- edad : int
+ Persona () : String
+ getNombre () : String
+ getApellido () : String
+ getEdad () : int
Profesor
- idProfesor : String
+ Profesor () : String
+ setIdProfesor () : void
+ getIdProfesor () : String
+ mostrarNombreApellidoCarnet () : String
Ejercicio 2:
DISEÑO LÓGICO:
Persona
- nombre :
- apellido :
- edad :
- nom :
- ape :
- ed :
+ Scanner ()
+ Persona ()
+ getNombre ()
+ getApellido ()
+ getEdad ()
Profesor
- idProfesor :
- id :
+ Scanner ()
+ Profesor ()
+ setIdProfesor ()
+ getIdProfesor ()
+ mostrarNombreApellidoCarnet ()
DISEÑO FÍSICO:
Persona
- nombre : String
- apellido : String
- edad : int
- nom : String
- ape : String
- ed : int
+ Scanner () : String
+ Persona () : String
+ getNombre () : String
+ getApellido () : String
+ getEdad () : int
Profesor
- idProfesor : String
- id : String
+ Scanner () : String
+ Profesor () : String
+ setIdProfesor () : void
+ getIdProfesor () : String
+ mostrarNombreApellidoCarnet () : String
H. IMPLEMENTACIÓN:
Ejercicio 1:
package lab36_herencia1;
/**
*
* @author PEÑA RONNY
*/
class Persona{
private String nombre, apellido;
private int edad;
//Implementacion de los metodos
public Persona(String nombre, String apellido,int edad){//Constructor
this.nombre=nombre;
this.apellido=apellido;
this.edad=edad;
}
public String getNombre(){
return nombre;
}
public String getApellido(){
return apellido;
}
public int getEdad(){
return edad;
}
}
class Profesor extends Persona{
//Implementacion del atributo de la subclase
private String IdProfesor;
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Profesor ObjetoProfesor=new Profesor("Luis Gustavo","Hernandez Gonzales ",35);
ObjetoProfesor.setIdProfesor("001prof");
ObjetoProfesor.mostrarNombreApellidoCarnet();
}
}
Ejercicio 2:
}
public String getApellido(){
return apellido;
}
public int getEdad(){
return edad;
}
}
class Profesor extends Persona{
private String IdProfesor;
public Profesor(String nombre, String apellido, int edad) {
super(nombre, apellido, edad);
IdProfesor="001prof";
}
public void setIdProfesor(String IdProfesor){
this.IdProfesor=IdProfesor;
}
public String getIdProfesor(){
return IdProfesor;
}
public void mostrarNombreApellidoCarnet(){
System.out.println("Nombre del Profesor: "+getNombre()+" "+getApellido()+"\nId del
profesor: "+getIdProfesor()+"\nEdad del Profesor: "+getEdad());
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Scanner lee=new Scanner(System.in);
String nom,ape,id;
int ed;
System.out.println("\tDatos de Profesor\n");
System.out.println("Ingrese sus nombres");
nom=lee.next();
System.out.println("Ingrese sus apellidos");
ape=lee.next();
System.out.println("Ingrese su edad");
ed=lee.nextInt();
System.out.println("Ingrese su Id");
id=lee.next();
System.out.println("Ingrese su Id");
System.out.println("\n\tDATOS DE PROFESOR\n");
Profesor ObjetoProfesor=new Profesor(nom,ape,ed);
ObjetoProfesor.setIdProfesor(id);
ObjetoProfesor.mostrarNombreApellidoCarnet();
}
I. PRUEBAS:
Ejercicio 1:
Ejercicio 2:
EJERCICIO 1
getNombre ();
getApellido ();
getEdad ();
Profesor ();
setIdProfesor ();
getIdProfesor ()
mostrarNombreApellidoCarne
t();
CALIFICACIÓN
EJERCICIO 2
Persona ();
getNombre ();
getApellido ();
getEdad ();
Profesor ();
setIdProfesor ();
getIdProfesor ()
mostrarNombreApellidoCarne
t();
CALIFICACIÓN
K. RESULTADOS Y CONCLUSIONES:
M. REFERENCIAS BIBLIOGRÁFICAS:
[online]: http://www.espe.edu.ec
Tema: Herencias