Sie sind auf Seite 1von 6

Definicin de una clase base y una clase derivada

Oliver Gutierrez Hoy a las 1:18 am



Una clase base es aquella que no dependen ninguno de sus atributos u objetos de la clase de
alguna otra clase, se podra decir que en trminos de herencia, sera la clase padre, la clase que
se mantiene fija, en el aspecto de herencia.

Es tambin por as llamarlo la clase principal de un programa, sera la clase primaria sin incluir la
clase main en donde se corre todo el programa en s.

Las Clases derivadas, son clases que dependen de las clases bases, ya que algunos de sus
mtodos son tambin heredados, y muchas veces, el compilador arrojara malos resultados, ya que
al ser dependientes estas clases, a veces podrn generar errores lgicos.

Ejemplo de lo que seran las clases bases y clases derivadas, y de cmo se demuestra la
dependencia de la derivada con la clase base:

public abstract class Figura {
protected int x; protected int y;
public Figura(int x, int y) {
this.x=x; this.y=y;
}
public abstract double area();
}

class Rectangulo extends Figura{
protected double ancho, alto;
public Rectangulo(int x, int y, double ancho, double alto){
super(x,y);
this.ancho=ancho;
this.alto=alto;
}
public double area(){
return ancho*alto;
}
}

En este ejemplo, se nota como la clase figura le da atributos a la clase rectngulo.
//----------------------------------------------------------------------------------------------------------------- ------------------
//-------------------------------------------Factorial y Sumatoria-----------------------------------------------------------
//---------------------------Derechos Reservados (C)2014 Oliver Gutirrez Pineda------------------------------
//-----------------------------------------------Mexico Guerrero-------------------------------------------------------------
//-----------------------------------------------------------------------------------------------------------------------------------


Factorial
(+) getResultado(n:Integer); String












import java.io.*;
import java.awt.*;
import java.awt.event.*;

class ventana extends Frame {
private factorial f = new factorial() ;
private sumatoria s = new sumatoria() ;

private Label e1 = new Label("Numero = ");
private Label eR = new Label("Resultado = ");
private TextField t1 = new TextField();
private Button b1 = new Button("Factorial");
private Button b2 = new Button("Sumatoria");
public ventana() {
setLayout(null); setSize(400,400);
setTitle("Operaciones"); add(e1); add(eR);
add(t1); add(b1); add(b2);
e1.setBounds(27,44, 100, 25) ;
t1.setBounds(158, 43, 100, 25) ;
b1.setBounds(28, 175, 100, 40) ;
b2.setBounds(134, 175, 100, 40) ;
eR.setBounds(70, 310, 200, 25) ;
setVisible(true);
OnClickFactorial() ; OnClickSumatoria() ;
}//public

public void windowDeactivated (WindowEvent ev) { }
public void windowActivated (WindowEvent ev) { }
public void windowDeiconified (WindowEvent ev) { }
public void windowIconified (WindowEvent ev) { }
public void windowClosed (WindowEvent ev) { }
public void windowClosing (WindowEvent ev) { setVisible(false); }
public void windowOpened (WindowEvent ev) { }
Ventana
(-)e1, eR: Label
(-) t1: TextField
(-) b1, b2: Button
(+) Ventana ()
(+) OnClickFactorial ( );
(+) OnClickSumatoria ( );
Sumatoria
(+) getResultado(n:Integer); String
Principal: ventana
(+) principal( )
(+) main()

private void OnClickFactorial() {
b1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ev) {
eR.setText("Factorial: " + f.getResultado( Integer.valueOf(t1.getText())));
}
});
}

private void OnClickSumatoria() {
b2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ev) {
eR.setText("Sumatoria " + s.getResultado( Integer.valueOf(t1.getText()) ) );
}
});
}

}//class


class factorial {
public String getResultado(Integer n) {
int f=1;
for (int i=1; (i<=n); i++){
f=f*i;
}
return String.valueOf(f) ;
}
} //class


class sumatoria {
public String getResultado(Integer n) {
int f=0;
for (int i=1; (i<=n); i++){
f=f+i;
}
return String.valueOf(f) ;
}
} //class


public class principal extends ventana {
public static void main(String arg[]) {
principal p = new principal ();
}
}









//----------------------------------------------------------------------------------------------------------------- ------------------
//-------------------------------------suma, resta, divisin y multiplicacion---------------------------------------------
//---------------------------Derechos Reservados (C)2014 Oliver Gutirrez Pineda------------------------------
//-----------------------------------------------Mexico Guerrero-------------------------------------------------------------
//----------------------------------------------------------------------------------------------------------------- ------------------


























import java.io.*;
import java.awt.*;
import java.awt.event.*;

public class principal extends ventana {
public static void main(String arg[]) {
principal p = new principal ();
}
}

class ventana extends Frame implements WindowListener {
private suma s = new suma() ;
private resta r = new resta() ;
private division d = new division() ;
private multiplicacion m = new multiplicacion() ;

Suma
(+) getResultado(a, b:double); String
Resta
(+) getResultado(a, b:double); String
Ventana
(-) l1, l2, l3 : Label
(-) t1, t2, t3: TextField
(-) b1, b2, b3, b4: Button
(+) Ventana ()
(+) OnClickSuma ( );
(+) OnClickResta ( );
(+) OnClickDivision ( );
(+) OnClickMultiplicacion ( );
Principal: ventana
(+) principal( )
(+) main()
Multiplicacion
(+) getResultado(a, b:double); String
Division
(+) getResultado(a, b:double); String
private Label l1 = new Label("A=");
private Label l2 = new Label("B=");
private Label l3 = new Label("R=");
private TextField t1 = new TextField();
private TextField t2 = new TextField();
private Button b1 = new Button("Suma");
private Button b2 = new Button("Resta");
private Button b3 = new Button("Multiplicacion");
private Button b4 = new Button("Division");
public ventana() {
setLayout(null); setSize(400,400);
setTitle("Operaciones"); add(l1); add(l2); add(l3);
add(t1); add(t2); add(b1); add(b2); add(b3); add(b4);
l1.setBounds(27,44, 100, 25) ;
l2.setBounds(27,88, 100, 25) ;
l3.setBounds(70, 310, 200, 25) ;
t1.setBounds(158, 43, 100, 25) ;
t2.setBounds(158, 87, 100, 25) ;
b1.setBounds(28, 175, 100, 40) ;
b2.setBounds(134, 175, 100, 40) ;
b3.setBounds(30, 236, 100, 40) ;
b4.setBounds(134, 234, 100, 40) ;
setVisible(true);
OnClickSuma() ; OnClickResta() ; OnClickDivision() ; OnClickMultiplicacion () ;
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){ System.exit(0);} });
}

private void OnClickSuma() {
b1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ev) {
l3.setText("Suma: " + s.getResultado( Double.valueOf(t1.getText()) ,
Double.valueOf(t2.getText()) ) );
}
});
}
private void OnClickResta() {
b2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ev) {
l3.setText("Resta: " + r.getResultado( Double.valueOf(t1.getText()) ,
Double.valueOf(t2.getText()) ) );
}
});
}
private void OnClickDivision() {
b4.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ev) {
l3.setText("Division: " + d.getResultado( Double.valueOf(t1.getText()) ,
Double.valueOf(t2.getText()) ) );
}
});
}
private void OnClickMultiplicacion() {
b3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ev) {
l3.setText("Multiplicacion: " + m.getResultado( Double.valueOf(t1.getText()) ,
Double.valueOf(t2.getText()) ) );
}
});
}

}//class


class suma {
public String getResultado(double A, double B) {
return String.valueOf(A+B) ;
}
} //class

class resta {
public String getResultado(double A, double B) {
return String.valueOf(A-B) ;
}
} //class

class division {
public String getResultado(double A, double B) {
return String.valueOf(A/B) ;
}
} //class

class multiplicacion {
public String getResultado(double A, double B) {
return String.valueOf(A*B) ;
}
} //class

Das könnte Ihnen auch gefallen