5COP088 Laboratório de Programação

Propaganda
5COP088 – Laboratório de Programação
Aula 10 – Java
5COP088
Laboratório de Programação
Aula 10
Orientação a Objetos com Java
Prof. Dr. Sylvio Barbon Junior
Sylvio Barbon Jr – [email protected]
1
5COP088 – Laboratório de Programação
Aula 10 – Java
Sumário:
1) Classes Abstratas;
2) Interfaces;
Sylvio Barbon Jr – [email protected]
2
5COP088 – Laboratório de Programação
Aula 10 – Java
Classes Abstratas
-Uma classe não pode ser final e abstract;
-Uma classe abstract não pode ser instanciada;
-Uma classe com somente um método abstract deve ser declarada como abstract;
-Uma classe abstract pode ter métodos abstracts ou não;
-A primeira classe concreta deverá implementar todos os métodos abstracts;
-São representadas com letras em itálico na UML.
Sylvio Barbon Jr – [email protected]
3
5COP088 – Laboratório de Programação
Aula 10 – Java
Classes Abstratas
Sylvio Barbon Jr – [email protected]
4
5COP088 – Laboratório de Programação
Aula 10 – Java
Interfaces
-As interfaces são contratos que definem o que a classe poderá fazer, mas não diz
como.
-As interfaces são mecanismos que proporcionam o polimorfismo;
-As interfaces podem ser implementadas por qualquer classe;
-A interface é como uma classe 100% abstract, mesmo sem declarar os métodos
como abstracts;
-Uma interface só pode ter métodos abstracts, nenhum método concreto é permitido.
-Por padrão os métodos da interface são public e abstract, a declaração explícita é
opcional;
- Uma classe que implementar uma interface pode ser abstract;
Sylvio Barbon Jr – [email protected]
5
5COP088 – Laboratório de Programação
Aula 10 – Java
Interfaces
- Uma classe de implementação não abstract, terá que:
- Fornecer implementações concretas de todos os métodos da interface;
-Deve seguir todas as regras de sobrecarga válida para os métodos que
Implementa;
-Uma classe abstrata não precisa implementar os métodos da interface.
-Uma classe só pode estender uma classe, mas pode implementar várias interfaces;
-Uma interface pode estender uma ou mais interfaces;
-As interfaces não podem estender uma classe ou implementar uma classe ou
Interface.
Sylvio Barbon Jr – [email protected]
6
5COP088 – Laboratório de Programação
Aula 10 – Java
Interface
Sylvio Barbon Jr – [email protected]
7
5COP088 – Laboratório de Programação
Aula 10 – Java
Interface
Sylvio Barbon Jr – [email protected]
8
5COP088 – Laboratório de Programação
Aula 10 – Java
Interface
Sylvio Barbon Jr – [email protected]
9
5COP088 – Laboratório de Programação
Aula 10 – Java
Interface
Sylvio Barbon Jr – [email protected]
10
5COP088 – Laboratório de Programação
Aula 10 – Java
Interface
Sylvio Barbon Jr – [email protected]
11
5COP088 – Laboratório de Programação
Aula 10 – Java
Interface
Sylvio Barbon Jr – [email protected]
12
5COP088 – Laboratório de Programação
Aula 10 – Java
Referências
Deitel,P.; Deitel, H. Java Como Programar. 5a edição.
SCJP Certificação Sun para programador- Kathy Sierra
https://www.youtube.com/watch?v=yfcyeY-jQbI
https://www.youtube.com/watch?v=dY99vOs86Jc
Download