Classe
Classe
Classe
n Diagrama de Classes
Pensar Orientado a Objetos
n Classificação
¡ Animados: possuem vida, se movem...
¡ Inanimados: não se movem por conta própria
n Objetos possuem atributos
¡ Tamanho, forma, cor, peso, etc.
n Objetos exibem comportamentos
¡ Uma bola rola, um avião voa
¡ Uma pessoa anda, fala, pensa, etc.
Classe de Objetos
n Objeto:
¡ Entidade que descreve uma realidade
n Classe:
¡ Abstração que define objetos
n Instância:
¡ Criação de um objeto a partir de uma
classe
Projeto Orientado a Objetos
n Modelo Cascata
¡ Define atividades seqüenciais
¡ Outras abordagens são
baseadas nesta ideia
Definição de
Requisitos
Projeto
Implementação
Testes
Manutenção
A Linguagem UML
A Linguagem UML
n UML (Linguagem de Modelagem Unificada)
n É uma notação gráfica (visual) para projetar
sistemas OO
¡ Não é uma linguagem de programação
n Define diagramas padronizados
n É extensível
n É complexa
¡ Mas usaremos apenas um sub-conjunto da UML
De onde surgiu?
Por Diagramas de
¡ enquanto, Objetostrabalhar apenas
vamos
¡ Diagrama de Componentes,
com diagramas etc.
de classes
n Diagramas Dinâmicos
¡ Diagrama de Seqüência
¡ Diagrama de Estados
¡ Diagrama de Atividades
¡ Diagrama de Colaboração, etc.
Diagrama de Classes
Pessoa
nome
email
Professor Aluno
matricula
Outro Diagrama de Classes
Diagrama de Classes
A estrutura do projeto
Diagrama de Classes
n Protegida (#)
¡ Somente a classe ou
sub-classes terão acesso
n Privada (-)
¡ Somente a classe terá acesso
Tipos de visibilidade
n Pública (+)
¡ O atributo ou método pode ser
utilizado por qualquer classe
Pessoa
n Protegida (#)
# nome
¡ Somente a classe ou - email
sub-classes terão acesso
+ enviarMensagem()
n Privada (-)
¡ Somente a classe terá acesso
Relacionamento
n Classes possuem relacionamentos
entre elas
¡ Compartilham informações
¡ Colaboram umas com as outras
n Principais tipos de relacionamentos
¡ Associação
¡ Agregação / Composição
¡ Herança
¡ Dependência
Comunicação entre Objetos (I)
n Conceitualmente, objetos se
comunicam através da troca de
mensagens.
n Mensagens definem:
¡ O nome do serviço requisitado
¡ A informação necessária para a
execução do serviço
¡ O nome do requisitante.
Comunicação entre Objetos (II)
n Na prática, mensagens são
implementadas como chamadas
de métodos
¡ Nome = o nome do método
¡ Informação = a lista de parâmetros
¡ Requisitante = o método que
realizou a chamada
Associações
Cliente DVD
0..* <locados>
registro titulo
0..1
Agregação
Time Pessoa
nome nome
email
Composição
Time Jogador
nome posicao
Especialização / Generalização
Pessoa
nome
email
Professor Aluno
matricula
Dependência
Funcionario DVD
titulo
locar()
Dependência
Funcionario DVD
titulo
locar(Funcionario func)
locar()
Notas
n Informativos
¡ Algum comentário na classe, método
ou atributo
¡ Alguma restrição de funcionalidade
nome
email
Referências