Clases abstractas e interfaces (Programación Java)
Clases
Clases cuya descripción es incompleta. Una clase abstracta declara métodos, pero no tiene que implementarlos.
No proporcionan la implementación de todos susmétodos
Los métodos no implementados se declaran como abstract
Una clase con un método abstracto debe declararse como clase abstracta
Pero una clase puede declararse como abstracta aunque notenga ningún método abstracto
public abstract class Forma {
private int xpos, ypos;
private Color color;
// ...
public abstract void dibuja(); //los métodos abstractos no tienen cuerpo.public void setColor(Color c){ /*...*/ };
}
public class Circle extends Forma{
private int radio;
// ...
public void dibuja(){ /*...*/ }; //Dibuja un círculo
public void setRadio(int){/*...*/};
}dibuja un
círculo
public class Rectangle extends Forma{
private int altura, anchura;
// ...
public void dibuja(){ /*...*/ }; //Dibuja un rectángulo
public void setAltura(int){/*...*/};
}Las subclases de una clase abstracta deben:
Sobreescribir todos los métodos abstractos de la superclase, o bien
Ser declaradas como clases abstractas
Una clase abstracta no puede instanciarse
Nose pueden crear objetos de una clase abstracta
Una clase abstracta puede incluir variables y métodos no abstractos.
No se pueden en definir constructores abstractos o
métodos estáticos abstractos.Ejemplo clase abstracta
public abstract class Figura {
int x, y;
public void mostrarOrigen () {
System.out.println("x= "+x+" y= "+y);
}
public abstract double area(); // No tieneimplementación
public abstract double mostrarNombre ();
}
public class Triangulo extends Figura {
protected int base, altura;
public Triangulo (int ba, int al) { base=ba; altura=al;
}
public doublearea() {
return base* altura/2;
}
public void mostrarNombre () { System.out.println(“triangulo”); }
}
public class Cuadrado extends Figura {
protected int lado ;
public Cuadrado (int lado)...
Regístrate para leer el documento completo.