SlideShare una empresa de Scribd logo
HERENCIA TEMA
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.
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
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 ).
Herencia. Definición La relación de herencia se establece entre una clase  Nueva   y una clase  Existente . Sobre la clase que hereda de la existente: Nueva   hereda todas las características de  Existente . Nueva   puede definir características adicionales. Nueva   puede redefinir características heredadas de  Existente . El proceso de herencia no afecta de ninguna forma a la superclase  Existente . Para que una nueva clase sea subclase de otra existente basta con añadir  extends  existente  a continuación del nombre de la nueva:
Herencia. Definición public class  Nueva  extends  Existente  { ..... }  
Tipos de Herencia.    HERENCIA SIMPLE es un tipo de herencia en la que una clase hereda el estado (estructura) y el comportamiento de una sola clase base. Es decir hay herencia múltiple cuando una clase hereda de una sola clase base.
Tipos de Herencia.    HERENCIA MULTIPLE E s un tipo de herencia en la que una clase hereda el estado (estructura) y el comportamiento de más de una clase base. Java no ha desarrollado la herencia múltiple, sólo permite la herencia de una sola clase base. En casos especiales es posible simular herencia múltiple con las interfaces.
Ejemplo Herencia Múltiple
Herencia. Implementación Java Public class Empleado{ protected String codigo;  protected String apell, nomb, cargo; protected double sueldo; public Empleado(String ncod, String nape, String nnom, String ncar, double nsuel) { codigo=ncod;   apell=nape; nomb=nnom;   cargo=ncar; sueldo=nsuel;   }  
Herencia. Implementación Java. public void aumentasueldo(double porcentaje) { sueldo+=sueldo*porcentaje*100; }   public Strint toString() { return apell+nomb; }  }
Herencia. Implementación Java. public class Ejecutivo extends Empleado { double presupuesto; public Ejecutivo(String ncod, String nap, String nno, String ncar, double nsuel, double npres) { super(ncod, nap, nno, ncar, nsuel, npres); this.presupuesto=npres; }   public void asignapres(double p) { presupuesto=p; } }
Herencia. Implementación Java ........ Ejecutivo jef=new Ejecutivo(“Juan”, “Perez”, “jefe logística”, 2000, 30000); jef.aumentasueldo(); ........ .......
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.
 
Herencia y Constructores Los constructores de la clase base se invocan antes del constructor de la clase derivada. Si una clase base, es a su vez una clase derivada, sin constructores se invocan también en secuencia: constructor base, constructor derivada. Los constructores no se heredan aunque los constructores por defecto se generan si se requiere.
Jerarquía de Clases
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
Métodos de la clase clase Object    public boolean equals(Object o) :  Permite definir el criterio de igualdad utilizado para los objetos de una determinada clase (el operador == únicamente chequea la igualdad de referencias).  public String toString() :  Permite decidir la  representación  externa  de un objeto. Por defecto es el valor de su referencia, etiquetada con el nombre de la clase. protected Object clone() throws CloneNotSupportedException : devuelve una copia del objeto si la clase implementa la interfaz Cloneable.
Métodos de la clase clase Object   public final Class getClass(): clase que representa el tipo del objeto. protected void finalize() throws Thorowable: (relacionado con liberar memoria) 
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; }
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; }
Ejemplo. Métodos clase Object public String toString() { String texto="origen: ("+x+", "+y+")"; return texto; } protected void finalize() throws Throwable  { System.out.println("Finalizando objetos..."); } }
Ejemplo. Métodos clase Object public class TestP { public static void main(String[]args)throws IOException { int wa, wb; String temp; BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); PrintStream sal=System.out; sal.println("Ingrese valor x:"); temp=br.readLine(); wa=Integer.parseInt(temp);
Ejemplo. Métodos clase Object sal.println("Ingrese valor y: "); temp=br.readLine(); wb=Integer.parseInt(temp); Punto p1=new Punto(wa,wb); temp=p1.toString(); sal.println(temp);  p1.trasladar(5,5); temp=p1.toString(); sal.println(temp);
Ejemplo. Métodos clase Object sal.println("segundo objeto2"); Punto p2= (Punto) p1.clone();  temp=p2.toString(); sal.println(temp); if (p1.equals(p2)) { sal.println("Objetos iguales.."); } else { sal.println("Objetos Diferentes....."); }
Ejemplo. Métodos clase Object   p1=null; p2=null; // Ejecutar el recolector de basura Runtime runtime = Runtime.getRuntime(); runtime.gc(); runtime.runFinalization();  } }
Java - Herencia APLICACIÓN DESARROLLADA
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.
Pasos 1. Diseñe la interfaz visual.
Pasos
Pasos
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;  } }
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;  } }
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); } }
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);  } }
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);  } }
7. Definición de Objetos En la clase Frame1 definir los siguientes objetos: Cuadrado c1; Triangulo t1; Circulo cir;
8. Codificar botones void jButton1_actionPerformed(ActionEvent e) { double xa; Graphics g=getGraphics(); xa=Double.valueOf(txtlado.getText()).doubleValue(); c1=new Cuadrado(xa); salida.append(""+c1.getnonbre()); c1.areacuad(); salida.append("\nArea Cuadrado: "+c1.getarea()); c1.dibujacuad(g); }
8. Codificar botones void jButton2_actionPerformed(ActionEvent e)  { txtlado.setText(""); salida.setText("");  }   void jButton3_actionPerformed(ActionEvent e)  { double xa,xb; Graphics g=getGraphics(); xa=Double.valueOf(txtbase.getText()).doubleValue(); xb=Double.valueOf(txtaltura.getText()).doubleValue(); t1=new Triangulo(xa,xb); salida1.append(""+t1.getnonbre()); t1.areatrian(); salida1.append("\nArea Triangulo: "+t1.getarea()); t1.dibujatrian(g); }
8. Codificar botones void jButton4_actionPerformed(ActionEvent e) { txtbase.setText(""); txtaltura.setText(""); salida1.setText(""); }   void jButton5_actionPerformed(ActionEvent e)  { double xra; Graphics g=getGraphics(); xra=Double.valueOf(txtradio.getText()).doubleValue(); cir=new Circulo(xra); salida2.append(""+cir.getnonbre()); cir.areacir(); salida2.append("\nArea Circulo: "+cir.getarea()); cir.dibujacir(g);  }
Ejecución
Ejecución
Ejecución
GRACIAS POR SU ATENCION

Más contenido relacionado

PDF
Semana 2 Clases y Objetos en Java
PDF
Semana 6 Módulos Clases y Objetos
PDF
Semana 3 Herencia en Java
PDF
8.Clases y objetos Java
PDF
03 java poo_parte_2
PDF
Semana 5 Java Swing
ODP
Programación Orientada a Objetos para Python
PDF
Definición de clases en POO
Semana 2 Clases y Objetos en Java
Semana 6 Módulos Clases y Objetos
Semana 3 Herencia en Java
8.Clases y objetos Java
03 java poo_parte_2
Semana 5 Java Swing
Programación Orientada a Objetos para Python
Definición de clases en POO

La actualidad más candente (20)

PPTX
Programacion Orientada a Objetos
PPT
programacion orientada a objetos
PDF
Programación Orientada a Objetos en Java - Parte I 2015
PPT
Programacion Orientada a Objetos
PPTX
Programacion Orientada a Objetos IE
PDF
Programación orientada a objetos (I)
PPT
Programación Orientada a Objetos
PDF
PROGRAMACIÓN ORIENTADA A OBJETOS
PPT
ProgramacióN Orientada A Objetos
PPTX
Diapositiva estructura de datos unidad 1
PDF
JAVA ORIENTADO A OBJETOS - INTRODUCCIÓN
PDF
Unidad 2 clases y objetos
PPT
Qué es la poo
PPT
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
PDF
Programación orientada a objetos
PDF
Jyoc java-cap08 principios poo
PPTX
Metodos Get y Set, finalmente revelados.
PDF
Programación 3: Clases y objetos en Java
PPTX
PROGRAMACION ORIENTADA A OBJETO
PPT
Conceptos poo progra visual
Programacion Orientada a Objetos
programacion orientada a objetos
Programación Orientada a Objetos en Java - Parte I 2015
Programacion Orientada a Objetos
Programacion Orientada a Objetos IE
Programación orientada a objetos (I)
Programación Orientada a Objetos
PROGRAMACIÓN ORIENTADA A OBJETOS
ProgramacióN Orientada A Objetos
Diapositiva estructura de datos unidad 1
JAVA ORIENTADO A OBJETOS - INTRODUCCIÓN
Unidad 2 clases y objetos
Qué es la poo
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
Programación orientada a objetos
Jyoc java-cap08 principios poo
Metodos Get y Set, finalmente revelados.
Programación 3: Clases y objetos en Java
PROGRAMACION ORIENTADA A OBJETO
Conceptos poo progra visual
Publicidad

Similar a Tema2 (20)

PPT
Herencia_POO.ppt
PPTX
Lenguajes de Programación: Herencia, Polimorfismo Y UML
PPTX
METODOS HEREDADOS EN LA PROGRAMACION .pptx
PPTX
Herencia y Polimorfismo
PDF
JAVA ORIENTADO A OBJETOS - HERENCIA
PPTX
Programación 3: clases derivadas y polimorfismo
PDF
Programación orientada a objetos (Herencia)
PDF
Programacion 3 unidad ii
PDF
Programacion 3 unidad ii
PPT
Herencia informatica
PDF
Tema7 herencia
DOCX
Investigacion v unidad
PPTX
_Herencia_Polimorfismo_Polimorfismo.pptx
DOC
Herencia es una característica de los lenguajes de programación orientada a o...
PDF
9.herencia en java
PDF
Tema4 herencia
PDF
Poo3 java-0910
PDF
Jerarquía de clases, herencia, polimorfismo
DOCX
Herencia y polimorfismo unidad 5 semestre 2
PDF
U8.- Programacion Orientada a objetos II (2).pdf
Herencia_POO.ppt
Lenguajes de Programación: Herencia, Polimorfismo Y UML
METODOS HEREDADOS EN LA PROGRAMACION .pptx
Herencia y Polimorfismo
JAVA ORIENTADO A OBJETOS - HERENCIA
Programación 3: clases derivadas y polimorfismo
Programación orientada a objetos (Herencia)
Programacion 3 unidad ii
Programacion 3 unidad ii
Herencia informatica
Tema7 herencia
Investigacion v unidad
_Herencia_Polimorfismo_Polimorfismo.pptx
Herencia es una característica de los lenguajes de programación orientada a o...
9.herencia en java
Tema4 herencia
Poo3 java-0910
Jerarquía de clases, herencia, polimorfismo
Herencia y polimorfismo unidad 5 semestre 2
U8.- Programacion Orientada a objetos II (2).pdf
Publicidad

Más de guest70285f (6)

PPT
PPT
PPT
PPT
PPT
PPT
Temaswing
Temaswing

Último (20)

PDF
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
PDF
Estrategia de Apoyo de Daylin Castaño (5).pdf
PDF
Tips de Seguridad para evitar clonar sus claves del portal bancario.pdf
PPTX
Historia Inteligencia Artificial Ana Romero.pptx
PPTX
Curso de generación de energía mediante sistemas solares
PDF
NREN - red nacional de investigacion y educacion en LATAM y Europa: Caracteri...
PPTX
Mecanismos-de-Propagacion de ondas electromagneticas
PDF
ADMINISTRACIÓN DE ARCHIVOS - TICS (SENA).pdf
PPTX
Tema 1 Taller de tecnologia y proceso tecnologico.pptx
DOCX
Trabajo informatica joel torres 10-.....................
PDF
Diapositiva proyecto de vida, materia catedra
PPTX
CLAASIFICACIÓN DE LOS ROBOTS POR UTILIDAD
PPTX
Propuesta BKP servidores con Acronis1.pptx
PDF
CONTABILIDAD Y TRIBUTACION, EJERCICIO PRACTICO
PPT
Protocolos de seguridad y mecanismos encriptación
DOCX
Trabajo grupal.docxjsjsjsksjsjsskksjsjsjsj
PDF
informe_fichas1y2_corregido.docx (2) (1).pdf
DOCX
TRABAJO GRUPAL (5) (1).docxsjjsjsksksksksk
PDF
0007_PPT_DefinicionesDeDataMining_201_v1-0.pdf
PPTX
Control de calidad en productos de frutas
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
Estrategia de Apoyo de Daylin Castaño (5).pdf
Tips de Seguridad para evitar clonar sus claves del portal bancario.pdf
Historia Inteligencia Artificial Ana Romero.pptx
Curso de generación de energía mediante sistemas solares
NREN - red nacional de investigacion y educacion en LATAM y Europa: Caracteri...
Mecanismos-de-Propagacion de ondas electromagneticas
ADMINISTRACIÓN DE ARCHIVOS - TICS (SENA).pdf
Tema 1 Taller de tecnologia y proceso tecnologico.pptx
Trabajo informatica joel torres 10-.....................
Diapositiva proyecto de vida, materia catedra
CLAASIFICACIÓN DE LOS ROBOTS POR UTILIDAD
Propuesta BKP servidores con Acronis1.pptx
CONTABILIDAD Y TRIBUTACION, EJERCICIO PRACTICO
Protocolos de seguridad y mecanismos encriptación
Trabajo grupal.docxjsjsjsksjsjsskksjsjsjsj
informe_fichas1y2_corregido.docx (2) (1).pdf
TRABAJO GRUPAL (5) (1).docxsjjsjsksksksksk
0007_PPT_DefinicionesDeDataMining_201_v1-0.pdf
Control de calidad en productos de frutas

Tema2

  • 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 ).
  • 5. Herencia. Definición La relación de herencia se establece entre una clase Nueva y una clase Existente . Sobre la clase que hereda de la existente: Nueva hereda todas las características de Existente . Nueva puede definir características adicionales. Nueva puede redefinir características heredadas de Existente . El proceso de herencia no afecta de ninguna forma a la superclase Existente . Para que una nueva clase sea subclase de otra existente basta con añadir extends existente a continuación del nombre de la nueva:
  • 6. Herencia. Definición public class Nueva extends Existente { ..... }  
  • 7. Tipos de Herencia.   HERENCIA SIMPLE es un tipo de herencia en la que una clase hereda el estado (estructura) y el comportamiento de una sola clase base. Es decir hay herencia múltiple cuando una clase hereda de una sola clase base.
  • 8. Tipos de Herencia.   HERENCIA MULTIPLE E s un tipo de herencia en la que una clase hereda el estado (estructura) y el comportamiento de más de una clase base. Java no ha desarrollado la herencia múltiple, sólo permite la herencia de una sola clase base. En casos especiales es posible simular herencia múltiple con las interfaces.
  • 10. Herencia. Implementación Java Public class Empleado{ protected String codigo; protected String apell, nomb, cargo; protected double sueldo; public Empleado(String ncod, String nape, String nnom, String ncar, double nsuel) { codigo=ncod; apell=nape; nomb=nnom; cargo=ncar; sueldo=nsuel; }  
  • 11. Herencia. Implementación Java. public void aumentasueldo(double porcentaje) { sueldo+=sueldo*porcentaje*100; }   public Strint toString() { return apell+nomb; } }
  • 12. Herencia. Implementación Java. public class Ejecutivo extends Empleado { double presupuesto; public Ejecutivo(String ncod, String nap, String nno, String ncar, double nsuel, double npres) { super(ncod, nap, nno, ncar, nsuel, npres); this.presupuesto=npres; }   public void asignapres(double p) { presupuesto=p; } }
  • 13. Herencia. Implementación Java ........ Ejecutivo jef=new Ejecutivo(“Juan”, “Perez”, “jefe logística”, 2000, 30000); jef.aumentasueldo(); ........ .......
  • 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.
  • 15.  
  • 16. Herencia y Constructores Los constructores de la clase base se invocan antes del constructor de la clase derivada. Si una clase base, es a su vez una clase derivada, sin constructores se invocan también en secuencia: constructor base, constructor derivada. Los constructores no se heredan aunque los constructores por defecto se generan si se requiere.
  • 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. Métodos de la clase clase Object   public boolean equals(Object o) : Permite definir el criterio de igualdad utilizado para los objetos de una determinada clase (el operador == únicamente chequea la igualdad de referencias). public String toString() : Permite decidir la representación externa de un objeto. Por defecto es el valor de su referencia, etiquetada con el nombre de la clase. protected Object clone() throws CloneNotSupportedException : devuelve una copia del objeto si la clase implementa la interfaz Cloneable.
  • 20. Métodos de la clase clase Object   public final Class getClass(): clase que representa el tipo del objeto. protected void finalize() throws Thorowable: (relacionado con liberar memoria) 
  • 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; }
  • 23. Ejemplo. Métodos clase Object public String toString() { String texto="origen: ("+x+", "+y+")"; return texto; } protected void finalize() throws Throwable { System.out.println("Finalizando objetos..."); } }
  • 24. Ejemplo. Métodos clase Object public class TestP { public static void main(String[]args)throws IOException { int wa, wb; String temp; BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); PrintStream sal=System.out; sal.println("Ingrese valor x:"); temp=br.readLine(); wa=Integer.parseInt(temp);
  • 25. Ejemplo. Métodos clase Object sal.println("Ingrese valor y: "); temp=br.readLine(); wb=Integer.parseInt(temp); Punto p1=new Punto(wa,wb); temp=p1.toString(); sal.println(temp); p1.trasladar(5,5); temp=p1.toString(); sal.println(temp);
  • 26. Ejemplo. Métodos clase Object sal.println("segundo objeto2"); Punto p2= (Punto) p1.clone(); temp=p2.toString(); sal.println(temp); if (p1.equals(p2)) { sal.println("Objetos iguales.."); } else { sal.println("Objetos Diferentes....."); }
  • 27. Ejemplo. Métodos clase Object p1=null; p2=null; // Ejecutar el recolector de basura Runtime runtime = Runtime.getRuntime(); runtime.gc(); runtime.runFinalization(); } }
  • 28. Java - Herencia APLICACIÓN DESARROLLADA
  • 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.
  • 30. Pasos 1. Diseñe la interfaz visual.
  • 31. Pasos
  • 32. Pasos
  • 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;
  • 39. 8. Codificar botones void jButton1_actionPerformed(ActionEvent e) { double xa; Graphics g=getGraphics(); xa=Double.valueOf(txtlado.getText()).doubleValue(); c1=new Cuadrado(xa); salida.append(""+c1.getnonbre()); c1.areacuad(); salida.append("\nArea Cuadrado: "+c1.getarea()); c1.dibujacuad(g); }
  • 40. 8. Codificar botones void jButton2_actionPerformed(ActionEvent e) { txtlado.setText(""); salida.setText(""); }   void jButton3_actionPerformed(ActionEvent e) { double xa,xb; Graphics g=getGraphics(); xa=Double.valueOf(txtbase.getText()).doubleValue(); xb=Double.valueOf(txtaltura.getText()).doubleValue(); t1=new Triangulo(xa,xb); salida1.append(""+t1.getnonbre()); t1.areatrian(); salida1.append("\nArea Triangulo: "+t1.getarea()); t1.dibujatrian(g); }
  • 41. 8. Codificar botones void jButton4_actionPerformed(ActionEvent e) { txtbase.setText(""); txtaltura.setText(""); salida1.setText(""); }   void jButton5_actionPerformed(ActionEvent e) { double xra; Graphics g=getGraphics(); xra=Double.valueOf(txtradio.getText()).doubleValue(); cir=new Circulo(xra); salida2.append(""+cir.getnonbre()); cir.areacir(); salida2.append("\nArea Circulo: "+cir.getarea()); cir.dibujacir(g); }
  • 45. GRACIAS POR SU ATENCION