Line 1: | Line 1: | ||
{{TOCright}} | {{TOCright}} | ||
− | + | ||
Classes internas em Java. | Classes internas em Java. | ||
− | == | + | ==Princípios Básicos== |
* Classes internas e os vários aspectos de definição: classes internas simples; implementação de interfaces | * Classes internas e os vários aspectos de definição: classes internas simples; implementação de interfaces | ||
− | * Ligação | + | * Ligação implícita entre objectos de classes internas e a instância da classe externa |
* Partilha de acesso entre classe externa e interna | * Partilha de acesso entre classe externa e interna | ||
* Herança e classes internas e externas | * Herança e classes internas e externas | ||
Line 19: | Line 19: | ||
=== Gato & Estomago === | === Gato & Estomago === | ||
− | Estes exemplos ilustram o problema de dotar instâncias da classe Gato com | + | Estes exemplos ilustram o problema de dotar instâncias da classe Gato com estômagos. Os pontos abaixo apresentam várias soluções possíveis. As soluções avançam na direcção da maior abstracção e implementação cada vez mais dedicada (neste caso, culminando numa classe interna ao método onde o estômago é utilizado). |
− | * [[Gato & | + | * [[Gato & Estômago (classes interna e externa)]] |
− | * [[Gato & | + | * [[Gato & Estômago (classe externa implementa interface]] |
− | * [[Gato & | + | * [[Gato & Estômago (classe interna implementa interface]] |
− | * [[Gato & | + | * [[Gato & Estômago (classe interna a um método)]] |
− | * [[Gato & | + | * [[Gato & Estômago (classe interna a um bloco)]] |
− | * [[Gato & | + | * [[Gato & Estômago (classe interna anónima)]] |
=== Carro & Motor === | === Carro & Motor === |
Classes internas em Java.
Estes exemplos ilustram o problema de dotar instâncias da classe Gato com estômagos. Os pontos abaixo apresentam várias soluções possíveis. As soluções avançam na direcção da maior abstracção e implementação cada vez mais dedicada (neste caso, culminando numa classe interna ao método onde o estômago é utilizado).
Os exemplos seguintes apresentam algumas possibilidades de extensão (herança) de classes internas e externas.