|
|
(20 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
| {{TOCright}}
| | #REDIRECT [[ist:Classes Internas (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
| |
| * 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)
| |
| | |
| == Exercícios ==
| |
| | |
| * [[Classes Internas (Java)/Exercício 01: Interfaces java.lang.Comparable e java.util.Comparator|Exercício 01: Interfaces java.lang.Comparable<T> e java.util.Comparator<T>]]
| |
| | |
| [[category:Java]]
| |
| [[category:OOP]]
| |
| [[category:Teaching]]
| |