Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Oscar Bedoya
oscarbed@eisc.univalle.edu.co
Métodos abstractos
e interfaces
Clases y métodos abstractos
Figura
Circulo Cuadrado
Clases y métodos abstractos
Figura
Circulo Cuadrado
Figura
Circulo Cuadrado
Figura
Circulo Cuadrado
La clase Figura puede indicar que todas sus subclases deben tener
métodos obtenerArea y obtenerPerimetro
Cuando las subclases hereden de ella, deberán sobrescribir estos
métodos de tal forma que se calcule de forma específica para cada
figura
Figura
Clases y métodos abstractos
}
public String obtenerNombre()
{
return "CIRCULO";
}
}
public class Circulo extends Figura Hereda de la clase
{ abstracta Figura
private double radio;
public Circulo(double r)
{
radio=r;
}
public double obtenerRadio()
{
return radio;
}
public double obtenerArea()
{
return Math.PI*radio*radio;
}
public String obtenerNombre()
{
return "CIRCULO";
}
}
public class Circulo extends Figura
{
private double radio;
public Circulo(double r)
{
radio=r;
}
public double obtenerRadio()
{
return radio;
}
Sobrescribe el método no
public double obtenerArea()
abstracto para que calcule
{ el área de un circulo
return Math.PI*radio*radio;
}
public String obtenerNombre()
{
return "CIRCULO";
}
}
public class Circulo extends Figura
{
private double radio;
public Circulo(double r)
{
radio=r;
}
public double obtenerRadio()
{
return radio;
}
public double obtenerArea()
{
return Math.PI*radio*radio;
}
Sobrescribe el método
abstracto para que calcule
public String obtenerNombre()
retorne la palabra
{ CIRCULO
return "CIRCULO";
}
}
public class Cuadrado extends Figura Cuadrado hereda de la
{ clase abstracta Figura
private double lado;
public Cuadrado(double l)
{
lado=l;
}
public double obtenerLado()
{
return lado;
}
Sobrescribe el método
public double obtenerArea()
calculando el valor para un
{ cuadrado
return lado*lado;
}
Sobrescribe el método
public String obtenerNombre()
abstracto
{
return "CUADRADO";
}
}
public class Cuadrado extends Figura Cuadrado hereda de la
{ clase abstracta Figura
private double lado;
public Cuadrado(double l)
{
lado=l;
}
public double obtenerLado()
{
return lado;
}
Sobrescribe el método
public double obtenerArea()
calculando el valor para un
{ cuadrado
return lado*lado;
}
Sobrescribe el método
public String obtenerNombre()
abstracto
{
return "CUADRADO";
}
Figura-Cuadrado-Circulo-Uso
}
Sistema de nómina utilizando herencia
Una compañía paga a sus empleados en forma semanal. La compañía
tienes 4 tipos de empleados:
•Empleados asalariados que reciben un pago semanal fijo sin
importar el número de horas
•Empleados por horas que reciben un sueldo por horas y pago por
tiempo extra
•Empleados por comisión que reciben un porcentaje por sus
ventas
•Empleados asalariados por comisión que reciben un salario base
mas un porcentaje de sus ventas
Para este periodo de pago, la compañía ha decidido compensar a los
empleados asalariados por comisión, agregando un 10% a sus salarios
La compañía desea implementar una aplicación Java que realice sus
cálculos de nominas
Empleado
EmpleadoBaseMasComision
Clases y métodos abstractos
Interfaces
}
Clases y métodos abstractos
Interfaces
}
public String obtenerNombre() Se implementa el método
{ obtenerNombre
return "CIRCULO";
}
}
public class Cuadrado1 implements Figura1 Se utiliza la palabra
{ implements
private double lado;
public Cuadrado1(double l)
{
lado=l;
}
public double obtenerArea() Se implementa el método
{
obtenerArea
return lado*lado;
}
Se implementa el método
public String obtenerNombre()
obtenerNombre
{
return “CUADRADO";
}
}
Clases y métodos abstractos
Interfaces
Interfaces
Interfaces