14.3. Subtipos

Já sabemos que uma classe define implicitamente um tipo. O tipo tem o mesmo nome da classe.

 

Repare que, pelo facto da classe Jogo implementar o interface Ganhavel, também a classe JogoComObjetivo o implementa, ou seja, JogoComObjetivo é subtipo de Ganhavel.

Relembremos o exemplo da secção 13.3. Se acrescentarmos uma classe B1 que estende B, implementando um novo método m5, a representação em UML das classes e do interface é ilustrada na figura:

 

Já vimos na secção 13.3, que a forma como os tipos se organizam é um ingrediente fundamental na análise estática de tipos, executada pelo compilador

 

 


 

Anterior: 14.2. A relação subclasse/superclasse

Seguinte: 14.4. Herança e construtores