Cursos / Jogos Digitais / Programação Orientada a Objetos / Aula
Ao longo dos nossos estudos sobre a Programação Orientada a Objetos, vimos os conceitos e vários exemplos de implementação de classes e objetos. Você viu que as classes são como “moldes” que geram os objetos segundo a sua definição.
Todas as classes vistas até agora são o que chamamos de classes concretas, pois são utilizadas para gerar objetos diretamente. Ou, ainda, estão “prontas” para serem usadas para gerar seus objetos, como formas de bolo ou biscoitos prontas para recebere a massa e dare objetos quentinhos! Mas existem classes das quais não é possível gerar (instanciar) objetos, são as chamadas classes abstratas.
Classe abstrata é aquela declarada como tal, através da palavra reservada abstract, e que pode definir pelo menos um método abstrato.
Classes abstratas são usadas quando não faz sentido termos instância de determinadas classes e são classes básicas das quais outras classes podem ser derivadas. Elas não podem ser instanciadas diretamente.
Observe na figura abaixo que a palavra abstract é utilizada antes da palavra class; ao utilizar a palavra abstract, essa classe não pode ser instanciada.
Na figura 2, temos os exemplos onde duas classes (avião e barco) herdam de uma classe abstrata (brinquedo).
Assim percebemos que mais uma vez utilizamos o conceito de herança. Na figura 3, segue uma figura como exemplo da utilização da classe abstrata como tipo mais genérico.
É importante destacar na figura acima que a variável brinquedo é do tipo Brinquedo, assim é possível receber as instâncias de avião e barco, bem como utilizar o conceito de polimorfismo ao chamar os métodos específicos de cada objeto. Observe que a classe Brinquedo serviu apenas de molde, não sendo necessário instanciá-la em nenhum momento.
Versão 5.3 - Todos os Direitos reservados