a Classe Abstrata
Uma classe abstrata é uma classe que é declarada como abstrata — que pode ou não incluir métodos abstratos. As classes abstratas não podem ser instanciadas, mas podem ser subclassificadas. Uma classe abstrata pode ter campos estáticos e métodos estáticos. Quando uma classe abstrata é subclassada, a subclasse geralmente fornece implementações para todos os métodos abstratos em sua classe-mãe. No entanto, se não o fizer, então a subclasse também deve ser declarada abstrata.,
Um método abstracto é um método que é declarado sem uma implementação (sem chaves e seguido por um ponto-e-vírgula), como este:
abstract void sum(int a, int b);
Considere a utilização de classes abstratas se alguma destas situações se aplicam à sua situação:
- Você deseja compartilhar código entre vários intimamente relacionados com as classes.
- você espera que as classes que estendem a sua classe abstrata tenham muitos métodos ou campos comuns ou exijam modificadores de acesso que não sejam públicos (como protegidos e privados).
- você deseja declarar campos não-estáticos ou não-finais., Isto permite definir métodos que podem acessar e modificar o estado do objeto ao qual pertencem.
Interface
uma interface é apenas a declaração de métodos de um objeto; não é a implementação. Em uma interface, definimos que tipo de operação um objeto pode realizar. Estas operações são definidas pelas classes que implementam a interface. Interfaces formam um contrato entre a classe e o mundo exterior, e este contrato é executado no tempo de construção pelo compilador.,
considere a utilização de interfaces se qualquer destas afirmações se aplicar à sua situação:
- você espera que classes independentes iria implementar a sua interface. Por exemplo, as interfaces comparáveis e Clonáveis são implementadas por muitas classes independentes.
- você quer especificar o comportamento de um determinado tipo de dados, mas não se preocupa com quem implementa o seu comportamento.
- você quer se aproveitar de várias heranças.,
publicado Originalmente em junho de 2016
Ler Mais
- Quando (Não) Usar Java Classes Abstratas
- Java: Interface Vs. A Classe abstrata
- Como Escolher Entre a Interface e Classes Abstratas em Java
Deixe uma resposta