5COP088 Laboratório de Programação

Propaganda
5COP088 – Laboratório de Programação
Aula 2 – Java
5COP088
Laboratório de Programação
Aula 2
Java
Prof. Dr. Sylvio Barbon Junior
Sylvio Barbon Jr – [email protected]
1
5COP088 – Laboratório de Programação
Aula 2 – Java
Aula 2 – Orientação a Objetos
1) Discussão
2) Encapsulamento
3) Herança
4) Polimorfismo
5) Sobrescrita e Sobrecarga
6) Conversão de Variáveis de Referência
7) Implementação de Interface
8) Tipos de Retorno
9) Construtores e Instanciamento
10) Estáticos
11) Acoplamento e Coesão
5COP088 – Laboratório de Programação
Aula 2 – Java
Aula 2 – Discussão
Garbage Collector
“Coletor de Lixo”
5COP088 – Laboratório de Programação
Aula 2 – Java
Aula 2 – Encapsulamento
1) O encapsulamento ajuda a ocultar a implementação por trás de
uma interface ou API
2) O código encapsulado fornece dois recursos:
- Proteção das variáveis de instância (private)
- Os métodos get e set fornecem acesso ás variáveis de
instância;
3) “herda de” e “subtipo de” são equivalentes (extends);
4) “Tem um”, significa que a instância de uma classe “tem uma”
referência de outra ou da mesma classe;
5COP088 – Laboratório de Programação
Aula 2 – Java
Aula 2 – Encapsulamento
5COP088 – Laboratório de Programação
Aula 2 – Java
Aula 2 – Encapsulamento
5COP088 – Laboratório de Programação
Aula 2 – Java
Aula 2 – Encapsulamento
5COP088 – Laboratório de Programação
Aula 2 – Java
Aula 2 – Encapsulamento
5COP088 – Laboratório de Programação
Aula 2 – Java
Aula 2 – Herança
1) A herança é um mecanismo que permite que uma classe seja
um subclasse de outra, herdando variáveis e métodos da
superclasse;
2) A herança é necessária para o polimorfismo, sobrescrição,
sobrecarga e conversão.
3) Todas as Classes (exceto Object) são subclasses do tipo Object.
5COP088 – Laboratório de Programação
Aula 2 – Java
Aula 2 – Herança
5COP088 – Laboratório de Programação
Aula 2 – Java
Aula 2 – Herança
5COP088 – Laboratório de Programação
Aula 2 – Java
Aula 2 – Herança
5COP088 – Laboratório de Programação
Aula 2 – Java
Aula 2 – Herança
5COP088 – Laboratório de Programação
Aula 2 – Java
Aula 2 – Polimorfismo
1) Polimorfismo significa muitas formas;
2) Uma variável de referência é sempre de um só tipo, mas ela
pode referir-se a um objeto do subtipo;
3) Um objeto pode ser pode ser referido por tipos diferentes,
desde que sejam de mesmo tipo ou subtipo do objeto;
4) O tipo de variável de referência (NÃO DO OBJETO) determina
quais métodos poderão ser chamados.
5) As chamadas polimórficas a métodos se aplicam apenas a
métodos de instâncias sobrescritos.
5COP088 – Laboratório de Programação
Aula 2 – Java
Aula 2 – Polimorfismo
5COP088 – Laboratório de Programação
Aula 2 – Java
Aula 2 – Polimorfismo
5COP088 – Laboratório de Programação
Aula 2 – Java
Aula 2 – Polimorfismo
Saída:
Tiro de meta!!!
>>Fernando Prass
Defesa!!!
5COP088 – Laboratório de Programação
Aula 2 – Java
Aula 2 – Sobrescrição e Sobrecarga (Overide e Overload)
1) Os métodos podem ser sobrescritos ou sobrecarregados, os
construtores podem ser sobrecarregados e não sobrescritos;
2) O métodos abstract devem ser soberscritos pela primeira
superclasse não concreta (não abstract);
3) Considerando o método sobrescrito:
- Deve ter a mesma lista de argumentos;
- Deve ter o mesmo tipo de retorno (considerar subclasse);
- Não deve ter um modificador de acesso mais restritivo;
- Pode ter um modificar de acesso menos restritivo;
4) Métodos final não podem ser sobrescritos;
5COP088 – Laboratório de Programação
Aula 2 – Java
Aula 2 – Sobrescrição e Sobrecarga (Overide e Overload)
5) Só os métodos herdados podem ser sobrescritos;
6) Sobrecarga significa dizer que é o mesmo nome de método
porém com argumentos diferentes;
7) Os métodos sobrecarregados:
- Devem ter listas de argumentos diferentes;
- Podem ter tipos de argumentos diferentes;
- Podem ter modificadores de acesso diferentes;
8) Os métodos de uma superclasse podem ser
sobrecarregados;
9) O Polimorfismo é aplicado a sobrescrita e não à sobrecarga.
5COP088 – Laboratório de Programação
Aula 2 – Java
Aula 2 – Sobrescrição e Sobrecarga (Overide e Overload)
10) O tipo de objeto (e não a variável de referência) determina
qual método sobrescrito será usado no tempo de execução;
11) O tipo de referência determina qual o método
sobrecarregado será usado no tempo de compilação.
5COP088 – Laboratório de Programação
Aula 2 – Java
Aula 2 – Sobrescrição e Sobrecarga (Overide e Overload)
5COP088 – Laboratório de Programação
Aula 2 – Java
Aula 2 – Sobrescrição e Sobrecarga (Overide e Overload)
5COP088 – Laboratório de Programação
Aula 2 – Java
Aula 2 – Sobrescrição e Sobrecarga (Overide e Overload)
5COP088 – Laboratório de Programação
Aula 2 – Java
Referências
Java Como Programar - Deitel,P.; Deitel, H..
Learn Java Now - Davis, Stephen Randy.
Big Java / Cay Horstmann ; tradução: Edson Furmankiewicz. -
Download