7
Computadores II
CEFET-MG
Prof.ª Kecia Aline Marques Ferreira
Classes Abstratas
Kecia Marques
2
Classes Abstratas
Há situações em que é útil definir uma classe sabendo-se que não serão instanciados objetos a partir dela.
Essas classes são denominadas classes abstratas.
Classes abstratas são aquelas para as quais não se pode instanciar objeto.
Um dos motivos pelos quais não se pode instanciar objeto de classes abstratas é que elas são “semi-completas”: alguns métodos podem não ter sido definidos.
Kecia Marques
3
Classes Abstratas
A linguagem Java possui o recurso de criação de classes abstratas.
Características de uma classe abstrata:
é designada pela palavra chave abstract. abstract class FiguraGeometrica{...}
podem possuir métodos sem definição de corpo (método abstrato). public abstract void CalculaArea();
pode haver hierarquia de classes abstratas.
Kecia Marques
4
Classes Abstratas
O objetivo do uso de classes abstratas é definir características
“semi-completas” a partir das quais outras classes podem ser construídas.
Em outras palavras, o propósito de uso de classes abstratas é fornecer uma superclasse apropriada da qual outras classes possam herdar interface e/ou implementação.
As classes não abstratas herdeiras de uma classe abstrata são denominadas classes concretas.
Kecia Marques
5
Classes Abstratas public abstract class Figura { private int cor; public abstract void desenhar(); public abstract void mover(); public void setCor(int i){ if (i>0) cor = i;
}
public int getCor(){ return cor;
}
}
Kecia Marques
6
Classes Abstratas public abstract class FiguraBidimensional extends Figura{ protected float area; public abstract void calcularArea(); public float getArea(){ return area;
}
}
Kecia Marques
7
Classes Abstratas public abstract class FiguraTridimensional extends Figura{ protected float volume;
public abstract void calcularVolume(); public float getVolume(){ return volume;
}