Zusammenfassung der Ressource
Orientação a Objetos
- Encapsulamento,relacionamento É- UM, TEM - UM
- Encapsulamento = oculta a implementação por trás de uma interface
- Variáveis de instância sao mantidas protegidas (private)
- Getter e Setter fornece acesso a variável de instância
- É - UM = herança
- Extends
- TEM - UM = A instância de uma classe tem uma referência a outra classe
- HERANÇA
- Subclasse = Herda variáveis e métodos da superclasse
- É - UM/ polimorfismo/sobrescrita/sobrecarga/cast(conversão)/tipagem
- Todas Classes Herdam de Object
- POLIMORFISMO
- Variável de referência = Tipo imutável = mas refere-se a um subtipo do objeto
- 1 Objeto = muitas variáveis de instância do mesmo tipo(È - UM)
- Tipo da variável de referência = métodos a serem chamados
- Se aplica a métodos de instância
- Sobrescrita e Sobrecarga
- Construtores = sobrecarregados
- Métodos Abstract =
Sobrescritos
- Sobrescrita
- Mesma Lista de Argumentos
- Mesmo tipo de retorno
- Não ter acesso mais restritivo
- Pode modificador de acesso menos restritivo
- Não pode lançar exceções verificadas mais abrangentes
- Pode lançar exceções menos abrangentes ou mais restritivas
- Método final não pode ser sobrescrito
- Só os métodos herdados podem ser sobrescritos
- Sobrecarga
- Mesmo nome /Argumentos diferentes
- Tipos de Retorno Diferente
- Modificador de Acesso Diferente
- Pode lançar Exceções Diferentes
- Superclasse pode sobrecarregar métodos em sua sub-classe
- Polimorfismo aplicado à sobrescrição e não a sobrecarga
- O tipo de referência determina qual método será sobrecarregado
- Cast de variáveis de referência
- Downcast/Upcast
- Downcast = variável aponta para um subtipo
- Upcast = variável aponta para o supertipo
- Implementação de Interface
- 1 classe = implementa muitas interfaces
- Tipos de Retorno
- Sobrecarregados = mudam o tipo
- Sobrescritos não
- Podem ser = null
- Array = tipo de retorno válido
- Pode-se retornar qualquer valor primitivo que possa ser convertido no tipo de retorno
- Void = não retorna nada
- Objeto = retornar um subtipo
- Interface = retornar Classe Implementadora da Interface
- Construtores
- Não há objeto sem construtor
- Toda Classe tem um construtor
- Devem ter o mesmo nome da Classe
- Não tem tipo de retorno
- Construtor chama da superclasse até Object
- Qualquer modificador de acesso
- Padrão se vc não criar nenhum
- Sem Argumentos/ chamada a super sem argumentos
- Primeira instrução = this/super
- Acesso de membros de instância depois da chamada ao construtor
- Classes Abstract = são chamados/ subclasse Concreta
- Interfaces não tem construtores
- Chamada dos construtores sub/superclasse = devem coincidir
- Não são herdados = não sobrescritos
- Chamada de um construtor por outro somente com this ou super
- THIS
- 1 instrução de um construtor
- Lista de argumentos = qual construtor será chamado
- Precisa chamar super = ou pilha excederá
- Chamadas = this ou super nunca os dois
- STATIC
- Método static nem ai pro comportamento das instâncias
- Dados específicos da Classe
- Membros Static = Classe
- Método static não acessa instância diretamente
- Ponto para acesso mebros Static / trocado pela Classe
- Não podem ser Sobrescritos
- Acoplamento
- Nível em que uma Classe conheçe outra
- Baixo = ótimo
- Alto = Péssimo
- Coesão
- Papel da Classe definida em seu propósito
- Alta = desejável
- Baixa = indesejável