Que tal programadores!!
Hoy nos dimos a la tarea de
explicar la herencia, el que comúnmente es temido en las escuelas por el echo
de que lo dicen de manera que se ve tan complicada, pero hoooo! Sorpresa es muy
sencillo, pero para ello necesitamos los siguientes temas para entenderlo.
La definición de herencia: Como su nombre lo dice, la herencia es
una transmisión de datos, hacia alguien que lo necesite.
Para entender mejor esto, nos dimos la tarea de plantear el siguiente
ejercicio en un diagrama.
Como podemos observar la clase PAPA o SUPERCLASE ya tiene atributos que
son privados y que las clases que lo heredan pueden tener ese tipo de atributos,
para utilizar los SET’s y los GET’s, ahora el código de las clases quedan de la
siguiente forma.
Casa clase estará en un archivo diferente y en el mismo package.
Código de la Clase Persona.
public class Persona { private String Nombre; private String ApPaterno; private String ApMaterno; private int Edad; //SET's public void setNombre(String nombre){ Nombre=nombre; } public void setApPaterno(String paterno){ ApPaterno=paterno; } public void setApMaterno(String materno){ ApMaterno=materno; } public void setEdad(int edad){ Edad=edad; } //GET's public String getNombre(){ return this.Nombre; } public String getApPaterno(){ return this.ApPaterno; } public String getApMaterno(){ return this.ApMaterno; } public int getEdad(){ return this.Edad; } //Constructor que recibe 4 argumentos public Persona(String nom, String paterno, String materno, int edad){ //se lo mandamos a los set para establecer los valores setNombre(nom); setApPaterno(paterno); setApMaterno(materno); setEdad(edad); } //Funciones o Metodos public void MostrarDatos(){ System.out.println("::: PERSONA :::"); System.out.println("Nombre: "+Nombre+ "\nApellido Paterno: "+ApPaterno+ "\nApellido Materno: "+ApMaterno+ "\nEdad: "+Edad); } }
Código de la Clase Estudiante.
//CLASE ESTUDIANTE QUE HEREDA DE PERSONA class Estudiante extends Persona{ private String NomEscuela; private int numSemestre; //SET's public void setNombreEscuela(String escuela){ NomEscuela=escuela; } public void setNumSemestre(int semestre){ numSemestre=semestre; } //GET's public String getNombreEscuela(){ return this.NomEscuela; } public int getNumSemestre(){ return this.numSemestre; } //Constructor que recibe 6 argumentos public Estudiante(String nom, String paterno, String materno, int edad, String escuela, int semestre) { //Para heredar los atributos de la clase Persona utilizamos la palabra super //y dentro del parentesis escogemos las variables que queremos heredar super(nom, paterno, materno, edad); //Pasamos los datos a los SET que se reciben en el constructor setNombreEscuela(escuela); setNumSemestre(semestre); } //Funciones o Metodos public void MostrarDatos(){ System.out.println("\n::: ESTUDIANTE :::"); System.out.println("Nombre: "+super.getApMaterno()+ "\nApellido Paterno: "+super.getApPaterno()+ "\nApellido Materno: "+super.getApMaterno()+ "\nEdad: "+super.getEdad()+ "\nEscuela: "+NomEscuela+ "\nSemestre: "+numSemestre); } }
Código de la Clase Empleado.
//CLASE EMPLEADO QUE HEREDA DE PERSONA class Empleado extends Persona{ private int numEmpleado; private String Puesto; //SET's public void setNumeroEmpleado(int numero){ numEmpleado=numero; } public void setPuesto(String puesto){ Puesto=puesto; } //GET's public int getNumeroEmpleado(){ return this.numEmpleado; } public String getPuesto(){ return this.Puesto; } //Constructor que recibe 6 argumentos public Empleado(String nom, String paterno, String materno, int edad, int numero, String puesto){ //Para heredar los atributos de la clase Persona utilizamos la palabra super //y dentro del parentesis escogemos las variables que queremos heredar super(nom, paterno, materno, edad); //Pasamos los datos a los SET que se reciben en el constructor setNumeroEmpleado(numero); setPuesto(puesto); } //Funciones o Metodos public void MostrarDatos(){ System.out.println("\n::: EMPLEADO :::"); System.out.println("Nombre: "+super.getApMaterno()+ "\nApellido Paterno: "+super.getApPaterno()+ "\nApellido Materno: "+super.getApMaterno()+ "\nEdad: "+super.getEdad()+ "\nEmpleado #: "+numEmpleado+ "\nPuesto: "+Puesto); } }
Código de la Clase Principal.
//Creamos la clase principal class Principal { public static void main(String [] args){ //Creamos nuestros objetos y mandamos la informacion en orden Persona Jose = new Persona("Jose", "Ramires", "Hernandez", 40); Estudiante Pepe = new Estudiante("Luis","Rodriguez","Gomez", 20, "ESCOM",5); Empleado Maria = new Empleado("Maria","Iglesias","Jimenez", 35, 123456,"Analista"); //Mandamos a llamar los datos resultantes de cada clase Jose.MostrarDatos(); Pepe.MostrarDatos(); Maria.MostrarDatos(); } }
Y todo este código o choro de código es para el siguiente resultado:
No hay comentarios.:
Publicar un comentario