La herencia es una forma de reutilización de software en la que las clases se crean absorbiendo los datos y métodos de una clase existente, y se mejoran con nuevas capacidades. O con modificaciones en las capacidades ya existentes.
SUPERCLASES Y SUBCLASES
Cuando un programa es heredado de otro automáticamente pasa a ser una subclase y el programa del cual fue heredado pasa a ser una superclase
MIEMBROS PROTECTED
Son un intermedio entre los modificadores de acceso public y private
INGENIERIA DE SOFTWARE MEDIANTE HERENCIA
Cuando una nueva clase extiende a una clase existente la nueva clase hereda los miembros no private de la clase existente, se puede personalizar la nueva clase para que se adapte a nuestras necesidades, incluyendo miembros adicionales y sobrescribiendo los miembros de la superclase.
Esto se hace en java sin necesidad del código fuente de la superclase tan solo con el acceso al archivo .class de la misma.
CONCLUCIONES
La reutilización de software reduce el tiempo de desarrollo de los programas
Una subclase es mas especifica que su superclase y representa a un grupo mas pequeño de objetos
Una subclase puede declarar a sus propios miembros, por lo que una subclase es mas grande que su superclase
EJEMPLO…..
Para poder realizar el ejemplo se debe crear en java proyec y en este se crean 3 class
El primer class tiene como nombre Circulo el código es el siguiente.
public class Circulo extends Punto {
private double radio;
public Circulo(int valorX, int valorY, double valorRadio)
{
super(valorX, valorY);
establecerRadio(valorRadio);
System.out.println("constructor de Circulo: " + this);
}
protected void finalize()
{
System.out.println("Finalizador de Circulo: " + this);
super.finalize();
}
public void establecerRadio(double valorRadio)
{
radio=(valorRadio<0.0>
}
public double obtenerRadio()
{
return radio;
}
public double obtenerDiametro()
{
return 2*obtenerRadio();
}
public double obtenerCircunferencia()
{
return Math.PI*obtenerDiametro();
}
public double obtenerArea()
{
return Math.PI*obtenerRadio()*obtenerRadio();
}
public String toString()
{
return "centro = " + super.toString() + "; Radio = " + obtenerRadio();
}
}
El segundo class tiene como nombre Prueba el código es el siguiente.
public class Prueba {
public static void main(String[] args) {
Punto punto;
Circulo circulo1, circulo2;
punto=new Punto(11,22);
System.out.println();
circulo1=new Circulo(72, 29, 4.5);
System.out.println();
circulo2=new Circulo(5, 7, 10.67);
punto=null;
circulo1=null;
circulo2=null;
System.out.println();
System.gc();
}
}
El tercero class tiene como nombre Punto el código es el siguiente.
public class Punto {
private int x;
private int y;
public Punto(int valorX, int valorY)
{
x=valorX;
y=valorY;
}
protected void finalize()
{
System.out.println("Finalizador de punto: " + this);
}
public void establecerX(int valorX)
{
x=valorX;
}
public int obtenerX()
{
return x;
}
public void establecerY(int valorY)
{
y=valorY;
}
public int obtenerY()
{
return y;
}
public String toString()
{
return"[" + obtenerX() + "," + obtenerY() + "]";
}
}
SUPERCLASES Y SUBCLASES
Cuando un programa es heredado de otro automáticamente pasa a ser una subclase y el programa del cual fue heredado pasa a ser una superclase
MIEMBROS PROTECTED
Son un intermedio entre los modificadores de acceso public y private
INGENIERIA DE SOFTWARE MEDIANTE HERENCIA
Cuando una nueva clase extiende a una clase existente la nueva clase hereda los miembros no private de la clase existente, se puede personalizar la nueva clase para que se adapte a nuestras necesidades, incluyendo miembros adicionales y sobrescribiendo los miembros de la superclase.
Esto se hace en java sin necesidad del código fuente de la superclase tan solo con el acceso al archivo .class de la misma.
CONCLUCIONES
La reutilización de software reduce el tiempo de desarrollo de los programas
Una subclase es mas especifica que su superclase y representa a un grupo mas pequeño de objetos
Una subclase puede declarar a sus propios miembros, por lo que una subclase es mas grande que su superclase
EJEMPLO…..
Para poder realizar el ejemplo se debe crear en java proyec y en este se crean 3 class
El primer class tiene como nombre Circulo el código es el siguiente.
public class Circulo extends Punto {
private double radio;
public Circulo(int valorX, int valorY, double valorRadio)
{
super(valorX, valorY);
establecerRadio(valorRadio);
System.out.println("constructor de Circulo: " + this);
}
protected void finalize()
{
System.out.println("Finalizador de Circulo: " + this);
super.finalize();
}
public void establecerRadio(double valorRadio)
{
radio=(valorRadio<0.0>
}
public double obtenerRadio()
{
return radio;
}
public double obtenerDiametro()
{
return 2*obtenerRadio();
}
public double obtenerCircunferencia()
{
return Math.PI*obtenerDiametro();
}
public double obtenerArea()
{
return Math.PI*obtenerRadio()*obtenerRadio();
}
public String toString()
{
return "centro = " + super.toString() + "; Radio = " + obtenerRadio();
}
}
El segundo class tiene como nombre Prueba el código es el siguiente.
public class Prueba {
public static void main(String[] args) {
Punto punto;
Circulo circulo1, circulo2;
punto=new Punto(11,22);
System.out.println();
circulo1=new Circulo(72, 29, 4.5);
System.out.println();
circulo2=new Circulo(5, 7, 10.67);
punto=null;
circulo1=null;
circulo2=null;
System.out.println();
System.gc();
}
}
El tercero class tiene como nombre Punto el código es el siguiente.
public class Punto {
private int x;
private int y;
public Punto(int valorX, int valorY)
{
x=valorX;
y=valorY;
}
protected void finalize()
{
System.out.println("Finalizador de punto: " + this);
}
public void establecerX(int valorX)
{
x=valorX;
}
public int obtenerX()
{
return x;
}
public void establecerY(int valorY)
{
y=valorY;
}
public int obtenerY()
{
return y;
}
public String toString()
{
return"[" + obtenerX() + "," + obtenerY() + "]";
}
}
presentado por:
ANGELA PATRICIA GALEANO BEJARANO
JUAN DAVID LANDINEZ BELLO
DIEGO ALEJANDRO RAMIREZ ROJAS
No hay comentarios:
Publicar un comentario