terça-feira, 17 de maio de 2011

Um Pouco Sobre Abstração e Finalização de Classes Pt 2

Boa noite pessoal hoje vamos falar um pouco sobre finalização de classes vulgo (Final Classes).

O que são classes finalizadas? bom isso é bem simples de explicar uma classe finalizada é toda classe que não deve ser estendida ou seja quando eu declaro uma classe como finalizada estou dizendo para o meu compilador que NENHUMA CLASSE sob circunstância nenhuma deve extender essa classe (Extends) vamos apresentar um exemplo:

public final class Caneta{
    private Cor corCaneta;
    private TipoCaneta tipoCaneta;
    public void escreveTexto(String texto){
      //write something
    }
}

Se eu tentar extender a classe Caneta como por exemplo:

public class CanetaExtendida extends Caneta{
    //Do something
}

Na hora de compilar a nossa classe o compilador vai apresentar o seguinte erro:

"The type CanetaExtendida cannot subclass the final class Caneta" (caso da Eclipse IDE)


Conclusão:

Classes finalizadas não são usadas normalmente no dia a dia, somente em casos raros em que são realmente necessárias tal como restringir o acesso a uma arvore de classes por exemplo:

*Diagrama

Classe Carro -
                      |
                      -> Classe Carro Esporte
                                                           -> Classe Final Eclipse
                      |
                      -> Classe Carro Sedan
                                                            -> Classe Final Honda Civic

Nesse exemplo eu quis dizer que temos duas subclasses de carro que são Carro Esporte e Carro Sedan, ambas classes podem ser extendidas e ter seus comportamentos modificados pelas classes filhas, porém eu não posso extender uma classe que representa o carro Eclipse pois a mesma ja tem a sua especialização implementada com as suas próprias especificações, o mesmo vale para a classe final Honda Civic, são casos raros porém bem uteis quando quero abstrair o mundo real no mundo orientado a objetos.

A todos os meus leitores, gostaria que deixassem comentários enviando sugestões, criticas, elogios, e como sempre se algum de vocês detectarem um erro de sintaxe, de lógica, ou de português mesmo deixem nos comentários, criticas são bem vindas, obrigado e abraço a todos !.

Nenhum comentário:

Postar um comentário