tutorial orientação a objetos
OBJETIVO
• Rever os conceitos de orientação a objetos
• Utilizar os conceitos de forma prática (Java)
Tutorial – Orientação a Objetos
1
Orientação a Objetos
Fonte: SIAE
Orientação a Objetos
• “Paradigma” de programação
• Os objetos tem responsabilidades claras
• Procedural
•Série de rotinas executadas para alcançar um objetivo
•Estruturas de Dados + Algoritmos = Programa
• Só tem acesso as informações relacionadas a sua responsabilidade (encapsulamento)
• Orientada a Objetos
• Entidades (objetos) independentes que:
• Recebem mensagens
• Processam informações
• Notificam outros objetos através de mensagens
• Objetos + Mensagens = Programa
• Para atingir objetivos complexos os objetos interagem através de mensagens
Fonte: SIAE
Classes e Objetos
Fonte: SIAE
Passo 1 - Classes e Objetos
• Classe - TIPO de entidade no problema
• Objeto – UMA ENTIDADE concreta no problema
Fonte: SIAE
Fonte: SIAE
1
5/4/2010
Herança
Passo 2 - Herança
• Relação de especialização
• objeto “É” classe
• objeto “É” classe pai
•outro objeto “É” classe pai
•NÃO NECESSARIAMENTE outro objeto “É” classe
Fonte: SIAE
Agregação e Composição
Fonte: SIAE
Passo 3 – Agregação ?
• Mostra uma relação de TODO x PARTE
• Diferença entre agregação e composição?
Fonte: SIAE
Agregação e Composição
Fonte: SIAE
Fonte: SIAE
Agregação e Composição
Fonte: SIAE
2
5/4/2010
Passo 3 - Composição
Polimorfismo
• “Muitas formas”
• Conceito ligado a herança
• Funcionalidade da classe pai implementada
• Implementação específica na classe filha
• Utiliza-se o método específico de um objeto
Fonte: SIAE
Passo 4 - Polimorfismo
Fonte: SIAE
Classes abstratas
• Possuem apenas parte dos métodos implementados. •Parte é apenas descrita (métodos abstratos)
•Não podem ser instanciadas
•Parte dos métodos precisam ser implementados nas classes filhas (para “concretizá-los”)