Está en la página 1de 5

David Gonzlez Segundo ING. Jos Lus Garca Morales PROGRAMACION ORIENTADA A OBJETOS.

Fecha: 4/Septiembre/2013

Polimorfismo
Diagrama de Clase de UML Persona - nombre : String - edad : int - sexo : String + Persona() + setNombre(nombre : String) + getNombre() : String + setEdad(edad : int) + getEdad(): int + setSexo(sexo : String) + getSexo(): String + obtenerDatos():String

Estudiante - carrera : String - num_examenes_reprobados : int + Estudiante() + setCarrera(c : String) + getCarrera() : String + setNum_Examenes_Reprobados(num : int) + getNum_Examenes_Reprobados (): int + obtenerDatos():String

Profesor - profesion : String - horas_clase : int + Profesor() + setProfesion(pr : String) + getProfesion() : String + setHoras_Clase(hc : int) + getHoras_Clase (): int + obtenerDatos():String

Director - institucion : String + Director() + setInstitucion(inst : String) + getInstitucion() : String + obtenerDatos():String

El polimorfismo nos permite programar de una forma ms general en el uso de clases, el cual consiste en que la superclase comparta sus objetos dentro de una jerarqua de las subclases, as como si fueran objetos de la superclase. Dentro de una jerarqua de herencia, es ms fcil entender la estructura del programa, la informacin de procesa de manera ms genrica que en caso especifico

Cdigo Fuente public class Persona //Superclase Persona { private String nombre; private int edad; private String sexo; public void setNombre(String nombre) { this.nombre=nombre; } public String getNombre() { return nombre; } public void setEdad(int edad) { this.edad=edad; } public int getEdad() { return edad; } public void setSexo(String sexo) { this.sexo=sexo; } public String getSexo() { return sexo; } }

public class Estudiante extends Persona //Subclase Estudiante { private String carrera; private int num_examenes_reprobados; public void setCarrera(String c) { carrera=c; } public String getCarrera() { return carrera; } public void setNum_Examenes_Reprobados(int num) { num_examenes_reprobados=num; } public int getNum_Examenes_Reprobados() { return num_examenes_reprobados; } } public class Profesor extends Persona //Subclase Profesor { private String profesion; private int horas_clase; public void setProfesion(String pr) { profesion=pr; } public String getProfesion() { return profesion; } public void setHorasClase(int hc) { horas_clase=hc; } public int getHorasClase() { return horas_clase; }

} public class Director extends Persona //Subclase Director { private String institucion; public void setInstitucion(String inst) { institucion=inst; } public String getInstitucion() { return institucion; } } public class PruebaPersona //clase Prueba { public static void main(String[] args) { Estudiante estudiante=new Estudiante(); Profesor profesor=new Profesor(); Director director=new Director(); estudiante.setNombre("David"); estudiante.setEdad(24); estudiante.setSexo("H"); estudiante.setCarrera("ICO"); estudiante.setNum_Examenes_Reprobados(1); System.out.println("Los datos del Estudiante son: \n"+estudiante.getNombre()); System.out.println("Edad: "+estudiante.getEdad()); System.out.println("Sexo: "+estudiante.getSexo()); System.out.println("Carrera: "+estudiante.getCarrera()); System.out.println("Examenes reprobados: "+estudiante.getNum_Examenes_Reprobados()+"\n"); profesor.setNombre("Jose Luis"); profesor.setEdad(30); profesor.setSexo("H"); profesor.setProfesion("Ingeniero en Computacion"); profesor.setHorasClase(5);

System.out.println("Los datos del profesor son: \n"+profesor.getNombre()); System.out.println("Edad: "+profesor.getEdad()); System.out.println("Sexo: "+profesor.getSexo()); System.out.println("profesion: "+profesor.getProfesion()); System.out.println("horas de clase: "+profesor.getHorasClase()+"\n"); director.setNombre("Fidencio"); director.setEdad(40); director.setSexo("H"); director.setInstitucion("UAEM"); System.out.println("Los datos del director son: \n"+director.getNombre()); System.out.println("Edad: "+director.getEdad()); System.out.println("sexo: "+director.getSexo()); System.out.println("Institucion: "+director.getInstitucion()); } } Salida

También podría gustarte