Programação java
5.1 A hierarquia de classes
A colocação das classes numa hierarquia de especialização (do mais genérico para o mais detalhado) para efeitos de reutilização de variáveis e métodos, bem como o conjunto de mecanismos de acesso e compatibilidade de tipos associados, são conceitos únicos e dos mais importantes das linguagens de PPO. Porém, são também dos mais complexos de compreender e utilizar plenamente, tanto mais que hierarquizar classes implica algo que mesmo no nosso dia-a-dia nos é muito difícil fazer: classificar. Vamos, por isso, apresentar a noção de hierarquia de classes não através de uma simples definição, como é usual, mas antes partindo de uma situação em que tal possibilidade não exista, e analisando as circunstâncias em que a sua inclusão numa linguagem se justifica e em que, portanto, pode e deve ser aplicada com enormes vantagens para o programador. Vimos anteriormente que o mecanismo de composição de classes nos surge como um primeiro mecanismo muito importante de reutilização de classes já definidas. Usando tal mecanismo, que é no dia-a-dia muito comum, como em linhas de produção industrial onde diferentes tipos de partes são juntas para formar o todo, vamos agora analisar se é ou não vantajoso que outros relacionamentos possam ser definidos entre classes. De momento, mais nenhuma forma de relacionamento entre classes está definida em PPO. Então, as classes ao serem criadas podem usar outras classes por composição, mas, para além disso, são entidades isoladas umas das outras, todas posicionadas no mesmo espaço plano, conforme se procura ilustrar na figura seguinte, que é equivalente às usuais bibliotecas de muitas linguagens de programação.
Rectangulo
Ponto2D
Stack
Elipse
PMMB
Segmento
Motor
Pagina
Figura 5.1 – Espaço plano de classes
Ao observarmos as classes apresentadas na Figura 5.1, é natural que, relativamente a algumas delas, não consigamos encontrar qualquer tipo de