2. Sumário
• Objetivo
• O Paradigma da Orientação a Objetos
• UML
• Análise Orientada a Objetos
• Projeto (Design) Orientado a Objetos
3. Objetivo
Transmitir uma ideia básica do
desenvolvimento orientado a objetos.
Apresentando técnicas
adotadas por
profissionais experientes
na análise e projeto de
softwares.
5. Orientação a Objetos
É muito mais que apenas uma forma de
organizar o código-fonte de um software.
Trata-se de uma forma
de abstrair o domínio e
capturar sua estrutura
em um modelo
conceitual.
13. Polimorfismo
(poli = múltiplas , morfo = formas)
É o ato de reescrever um método
herdado da superclasse ou
interface, mas mantendo-se a
assinatura do método original.
17. Interfaces
São como classes abstratas e
com apenas métodos abstratos.
A responsabilidade de
implementar o código fica por
conta da classe que implementa
a interface.
18. Agregação
As rodas fazem parte do contexto de carro,
mas a existência do carro não depende das
rodas, pois podemos trocá-las por outras em
qualquer momento.
21. UML
(Unified Modeling Language)
Diversos diagramas que facilitam
o entendimento entre
desenvolvedores e clientes a
respeito do sistema a ser
desenvolvido.
26. Identificação de Classes
Existem várias técnicas para
identificar classes, a mais
comum é destacar os
substantivos do texto que
define o problema a ser
resolvido pelo sistema.
27. Identificação de Classes
“No cadastro de usuários o
administrador deve fornecer o
nome completo, CPF, RG, sexo,
endereço completo,
telefones de contato, senha e email e
o nível de usuário, o código de
usuário é gerado automaticamente
pelo sistema...”
30. Agregação e Composição
As associações muitas vezes
correspondem a verbos estáticos
ou a locuções verbais como junto
à, parte de, contido em, tem,
parte de, trabalha para, casado
com.
32. Utilizando a Herança
Top-Down
Refinar classes existentes
em subclasses mais
especializadas.
Bottom-Up
Generalizar aspectos
comuns das classes
em uma superclasse.