O que seria Classes Abstratas? e Quando utiliza-las?
Obrigado
Classes Abstratas
4 Respostas
Basicamente Classe Abstrata é aquela classe que vc não poderá instanciá-la.
Pense em poliformismo, por exemplo, vc tem uma superclasse Conta, e as subclasses Conta Poupança e Conta Corrente, que herdam atributos e métodos da classe Conta, logo não teria sentido você ter objetos(instâncias) da classe Conta, e sim das suas subclasses Conta Poupança e Conta Corrente. Declarando a classe Conta como abstrata vc impediria que alguém pudesse instânciá-la.
A classe abstrata é usada para polimorfismo, embora a interface pode ser usada dessa maneira também.
A diferença entre elas é que a abstrata pode ter implementações.
Ambas(classe abstrata e interface) não podem ser instaciadas.
Em c++ não existem interfaces, mas a mesma funcionalidade é conseguida com classes abstratas.
Esse tópico pode te ajudar: http://www.guj.com.br/posts/list/55387.java#290673
… ou templates