El documento habla sobre el tema de herencia en programación orientada a objetos. Explica que la herencia permite que una clase herede los atributos y comportamientos de otra clase base. Define los tipos de herencia simple y múltiple, e ilustra su implementación en Java con ejemplos de clases Empleado y Ejecutivo. También cubre conceptos como los constructores, métodos de la clase Object y una aplicación de herencia de figuras geométricas.
2. CAPACIDADES Conocer la propiedad de la orientación a objetos: Herencia. Especificar jerarquía de clases. Determinar las diferencias entre Herencia Simple y Herencia Múltiple Desarrollar aplicaciones en Java de problemas con orientación a objetos: Uso de Herencia.
3. Herencia. Definición La Herencia es la relación que existe entre dos clases, en la que una clase derivada se crea a partir de otra ya existente, denominada clase base Es un Mecanismo exclusivo y fundamental de la Programación Orientada a Objetos. Es el principal mecanismo que ayuda a fomentar y facilitar la reutilización del software
4. Herencia. Definición La relación de herencia se establece entre una nueva clase (referida aquí con el nombre Nueva ) y una clase ya existente (referida aquí con el nombre Existente ).
14. Categoría protected: El especificador de acceso protected es equivalente al especificador private con el agregado de que los atributos protegidos de una clase base son accesibles para los miembros de cualquier clase derivada de esa clase.
18. La clase Object Object es la raiz de la jerarquía de herencia (de implementación) en Java Object define un conjunto de métodos útiles, que pueden ser redefinidos en cada clase
19.
20.
21. Ejemplo. Métodos clase Object class Punto implements Cloneable { private int x,y; public Punto(int a, int b) { x=a; y=b; } public Punto() { x=0; y=0; }
22. Ejemplo. Métodos clase Object public Object clone() { Object obj=null; try { obj=super.clone(); } catch(CloneNotSupportedException ex) { System.out.println("no se puede duplicar.."); } return obj; } public void trasladar (int dx, int dy) { x=x+dx; y=y+dy; }
29. Enunciado aplicación Herencia Elabore una aplicación java que implemente herencia de figuras geométricas (cuadrado, triángulo y círculo). Implementar métodos y botones para calcular el área y dibujar el objeto correspondiente.
33. 2. Escribir atributos y métodos de la clase Figura public class Figura { protected String nombre; protected double area; public Figura(String xno) { nombre=xno; } public String getnonbre() { return "Soy un "+nombre; } public double getarea() { return area; } }
34. 3. Escribir atributos y métodos de la clase Poligono public class Poligono extends Figura { protected double largo,ancho; public Poligono(String xn, double a, double b) { super(xn); largo=a; ancho=b; } public double getlar() { return largo; } public double getan() { return ancho; } }
35. 4. Escribir atributos y métodos de la clase Circulo public class Circulo extends Figura { private double radio; public Circulo(double ra) { super("circulo"); radio=ra; } public void areacir() { area=3.1415*radio*radio; } public void dibujacir(Graphics g) { int xl, xa; int tx=(int)radio; int ty=(int)radio; g.drawOval(300,200,tx,tx); } }
36. 5. Escribir atributos y métodos de la clase Cuadrado public class Cuadrado extends Poligono { public Cuadrado(double m) { super("cuadrado",m,m); } public void areacuad() { area=largo*ancho; } public void dibujacuad(Graphics g) { int xl, xa; xl=(int)largo; g.drawLine(300,200,300+xl,200); g.drawLine(300+xl,200,300+xl,200+xl); g.drawLine(300+xl,200+xl,300,200+xl); g.drawLine(300,200+xl,300,200); } }
37. 6. Escribir atributos y métodos de la clase Triangulo public class Triangulo extends Poligono { public Triangulo(double p, double q) { super("triangulo",p,q); } public void areatrian() { area=0.5*largo*ancho; } public void dibujatrian(Graphics g) { int xl, xa; xl=(int)largo; xa=(int)ancho; g.drawLine(300,200,300+xl,200); g.drawLine(300+xl,200,300+xl,200+xl); g.drawLine(300+xl,200+xl,300,200); } }
38. 7. Definición de Objetos En la clase Frame1 definir los siguientes objetos: Cuadrado c1; Triangulo t1; Circulo cir;