Manejar Herencia en Java

Iniciado por **Adem**, 1 Marzo 2008, 18:27 PM

0 Miembros y 1 Visitante están viendo este tema.

**Adem**

Hola me Gustaria saber como usar la herencia en java claro usando POO...pero no se si este codigo que muestro aqui esta empleando la herencia....Me gustria ver las opiniones o aclaraciones de algunos de ustedes....o mejor aun proporcionarme alguna pequeña apliacion que maneje Herencia....TAMBIEN QUISIERA QUE DIERAN VARIAS CRITICAS SOBRE ESTE PROGRAMA Y SOBRE TODO SI VIOLA LAS REGLAS DE LA PROGRAMACION ORIENTADA A OBJETOS....AHH y bueno si hay otra manera mucho mas cortita de hacerlo....


Gracias....


import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

class Calcular {
   private int num1;
   private int num2;
   
   public void asignar (int n1, int n2){
      num1 = n1;
      num2 = n2;
   }
   
   public int multiplique(){

   return num1 * num2; }
}
class Boton1 extends JFrame implements ActionListener   
  {
      Calcular obj = new Calcular ();
    String nom;
    int num,num2,resp;
    JButton a = new JButton("SALIR");
    JButton b = new JButton("ACEPTAR");
    JLabel label1 = new JLabel("INTRODUZCA UN NUMERO");
    JLabel label2 = new JLabel("INTRODUZCA OTRO NUMERO");
    JLabel label3 = new JLabel ("");
    JTextField text1 = new JTextField ("");
    JTextField text2 = new JTextField ("");
   
  //********************************************************************
       
   
    public Boton1 (String x)  {
   
     //AGREGAR LOS CONTENEDORES AL SEGUNDO FRAME
     super(x);
     
     getContentPane().add(label1);
     getContentPane().add(label2);
     getContentPane().add(text1); // El orden en que se agreganlos contenedores es muy importante
     getContentPane().add(text2); // define como se puede trabajar
     getContentPane().add( a);
     getContentPane().add( b );
     getContentPane().add(label3);
     getContentPane().setBackground(new Color(255,182,193));
       label1.setBounds(10,50,200,25);
    label2.setBounds(10,90,200,25);   // LAS COORDENADAS EN DONDE DEBEN QUEDAR EN EL FRAME
    label3.setBounds(10,140,150,25);  // CADA ELEMENTO
    text1.setBounds(200,50,150,25);
    text2.setBounds(200,90,150,25);
    a.setBounds(250,200,120,25);
     b.setBounds(250,230,120,25);
     b.addActionListener(this);
     a.addActionListener(this);
   
  }
  public void actionPerformed(ActionEvent ev) // ESTE ES EL METODO QUE CONTROLA A LOS BOTONES DE SALIR
  {                                   //  Y ACEPTAR
    if(ev.getSource()==b){
   num= Integer.parseInt(text1.getText());
   num2=Integer.parseInt(text2.getText());
   obj.asignar (num, num2);
   resp=obj.multiplique();
   label3.setText("Hola tu respuesta es:  " + resp);
   }
   if(ev.getSource()==a){
   //label3.setText("ESTOY EN SALIR");
   System.exit (0);   }
}   }

class Miclase  extends JFrame implements ActionListener   
  {
     JFrame frame = new JFrame("UN FRAME BASICO");
     JButton continuar = new JButton ("CONTINUAR");
    JLabel label = new JLabel("BIEVENIDO AL MUNDO GRAFICO DE JAVA",
     new ImageIcon("ccmbearapril.gif"),JLabel.CENTER);
     Miclase (){
     
     frame.getContentPane().add(continuar);
    continuar.setBounds(35,180,120,25);
    label.setVerticalTextPosition(JLabel.TOP);
    label.setHorizontalTextPosition(JLabel.CENTER);
    frame.getContentPane().add(label, BorderLayout.CENTER);
    frame.getContentPane().setBackground(new Color(255,189,193));
    frame.setBounds(250,150,450,300);
    frame.setResizable(false);
    frame.setVisible(true);
    continuar.addActionListener(this);
    }
   public void actionPerformed(ActionEvent ev) // ESTE ES EL METODO QUE CONTROLA AL BOTON CONTINUAR
   {
   if(ev.getSource() == continuar){
   frame.dispose();   
   Boton1 obj = new Boton1("MULTIPLICA");
     obj.setBounds(250,150,450,300);
     obj.setResizable(false);
     obj.setVisible(true);}
}
}
class Frames2 { public static void main (String args[]) {
   Miclase obj = new Miclase () ;   

}
}

Casidiablo