UCSal – Bacharelado em Informática
Tópicos Especiais em Informática II
Profa. Semíramis Assis
2015.2
Reutilização de classes



Característica das linguagens orientadas a
objetos que permite reutilizar classes já
prontas e testadas em diferentes aplicações.
É possível criar novas classes com base em
classes já existentes e adicionando novos
métodos / atributos (herança).
Dois mecanismos básicos para reutilização é
Delegação (ou composição) e herança.
Delegação ou Composição




Neste método se cria um atributo do tipo da
classe base na nova classe.
Após isso, cria-se um método para ter acesso
aos métodos e atributos do novo atributo
criado.
O objetivo é delegar o trabalho para as
classes base.
Os objetos não fazem sentido fora do
contexto que os contém. Ex: Pedido -> Item.
Caso não exista um pedido, não tem sentido
existir item.
Delegação ou Composição
• Exemplo de delegação:
Agregação

Mesma coisa da Delegação ou
Composição com uma diferença básica:
os objetos na Agregação fazem sentido
fora do contexto que os contém. Ex:
Animais -> Pantera. Caso a classe
Animal deixe de Existir, a classe Pantera
fará sentido, podendo ser utilizada em
outra classe.
Polimorfismo


É a criação de classe que tem o
relacionamento
é-um-tipo-de em
relação à outra classe. Ou seja, Pantera
é um tipo de Felino.
Polimorfismo permite que um método
que receba a classe pai (Felino)
também possa receber qualquer classe
que seja um tipo de Felino.
Polimorfismo
• Exemplo de polimorfismo:
Polimorfismo
• Classe Pantera que herda de Felino:
• Classe implementando método que aceita
Polimorfismo:
Exercícios

Exercício! Criar as classes Camisa ,
Calça, Sapato e Homem. A classe
Homem será uma agregação das
classes Camisa, Calça e Sapato. Criar
um método homemVeste que irá
montar a vestimenta do homem
chamando o método getNome de cada
uma das classes da agregação.
Exercícios

Criar uma classe Pedido com os atributos:




Criar a classe Item com os atributos:




Código
Data
Itens (Array) do tipo Item.
Código
Nome
Quantidade
Como será a agregação neste caso?
Exercícios


Criar a classe Fruto com o atributo nome
(métodos get e set) e as classes filhas Jambo,
Pêra, Maçã sobrescrevendo o método
getNome e setNome.
Criar uma classe Árvore com o método
defineFruto podendo receber, via
polimorfismo, vários tipos de Fruto. Como
fazer?
Dúvidas?
Download

UCSal – Tecnologia em Análise e Desenvolvimento de Sistemas