|
|
(23 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
| {{TOCright}}
| | #REDIRECT [[ist:Classes Internas (Java)]] |
| <!-- Material correspondente às Aulas 12 e 13. -->
| |
| 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
| |
| * Ligação implÃcita entre objectos de classes internas e a instância da classe externa
| |
| * Partilha de acesso entre classe externa e interna
| |
| * Herança e classes internas e externas
| |
| | |
| ==Organização de código==
| |
| * Sintaxe
| |
| * Organização de interfaces e classes e acesso ao código
| |
| * Classes internas locais (métodos e blocos)
| |
| * Classes anónimas
| |
| | |
| ==Exemplos==
| |
| | |
| === Gato & Estomago ===
| |
| | |
| 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 & Estômago (classes interna e externa)]]
| |
| * [[Gato & Estômago (classe externa implementa interface]]
| |
| * [[Gato & Estômago (classe interna implementa interface]]
| |
| * [[Gato & Estômago (classe interna a um método)]]
| |
| * [[Gato & Estômago (classe interna a um bloco)]]
| |
| * [[Gato & Estômago (classe interna anónima)]]
| |
| | |
| === Carro & Motor ===
| |
| Os exemplos seguintes apresentam algumas possibilidades de extensão (herança) de classes internas e externas.
| |
| | |
| * [[Carro & Motor (classes externas e internas)]]
| |
| * [[Carro & Motor (classe externa deriva de classe interna)]]
| |
| * [[Carro & Motor (overriding de classes internas)]] (problemas)
| |
| | |
| [[category:Java]]
| |
| [[category:OOP]]
| |
| [[category:Teaching]]
| |