Beruflich Dokumente
Kultur Dokumente
17/09/14 1
Classes e Objetos
17/09/14 2
Objeto
• Qualquer elemento identifado no domínio do
negófio que tenha:
●
identdade - qualquer objeto é únifo e diferenfiado dos
demais
●
estado - valores dos atributos em determinado momento
●
fomportamento – funfionalidade do objeto
• Um objeto é um termo que usamos para representar
uma entdade do mundo real.
• Exemplos:
●
Classes
●
Atributos
●
Métodos
●
Relafionamentos
●
Assofiação Simples
●
Agregação Simples/Composição
●
Generalização (Herança)
●
Dependênfia
Classes
• Elementos do Diagrama de Classes:
●
Em UML, as flasses são representadas por retângulos
influindo nome, atributos e métodos.
• Exemplo:
+ enderefo: String
Métodos
• Expressam o fomportamento da flasse
• Afessam e modiifam os atributos da flasse
• Na implementação, são os métodos
• Possuem visibilidade, muito frequentemente públifos
• Podem retornar valor ou não (void)
• Podem refeber parâmetros ou não
• Exemplo:
+ enderefo: String
Visibilidade
(atributos e métodos)
• Visibilidades:
– Público [+] : atributo ou método é afessado pela própria
flasse e por qualquer outra flasse do programa.
– Protegido [#] : atributo ou método é afessado pela
própria flasse e pelas suas subflasses.
– Pacote [~]: atributo ou método é afessado pela própria
flasse e por todas as flasses do mesmo pafote.
– Privado [–] : atributo ou método só pode ser afessado
dentro da própria flasse.
• Serve para enfapsular, proteger, organizar o afesso à
membros de uma flasse
Representação de Atributos
e Métodos na UML
Relafionamentos
17/09/14 13
Relafionamentos
• Em UML uma assofiação representa um
relafionamento que desfreve as ligações entre os
objetos ligados.
17/09/14 14
Assofiação simples
Associação
Assofiação por
Agregação Simples
• Tipo espefial de Assofiação
●
Assofiação do tpo “todo-parte”
Superclasse
“ É um
tipo de”
Subclasses
24
Herança
Superclasse
“ É um
tipo de”
Subclasses
As subflasses herdam
todos os atributos e
métodos da superflasse.
Todo atributo e método
espefializado deve ser
influído diretamente nas
subflasses.
Herança
Classes Abstratas
• Usualmente, a existênfia de uma flasse se justifa pela
possibilidade de gerar instânfias (flasses fonfretas).
• No entanto, podem existr flasses que não geram
instânfias diretas: classes abstratas.
• Utlizadas para organizar e simpliifar uma hierarquia de
generalização.
●
Propriedades fomuns a diversas flasses podem ser organizadas
e deinidas em uma flasse abstrata a partr da qual as primeiras
herdam.
●
Subflasses de uma flasse abstrata também podem ser
abstratas, mas a hierarquia deve terminar em uma ou mais
flasses fonfretas.
Herança
Classes Abstratas
• Na UML, uma flasse abstrata é representada fom o seu
nome em itálifo.
Obs:
• A flasse fliente depende de algum serviço da flasse fornefedor
• A mudança de estado do fornefedor afeta o objeto fliente
• A flasse fliente não deflara nos seus atributos um objeto do tpo fornefedor
• Fornefedor é refebido por parâmetro de método
Dependênfia
• Exemplo de Dependênfia:
● As iclasses DVD-PLAYER e DVD-
MIDIA apresentam um
relaiclonamento de dependênicla.
● A asslnatura do método play da
iclasse DVD-PLAYER reicebe icomo
parâmetro um objeto ou
lnstânicla da iclasse DVD-MIDIA.
Nesse exemplo esse objeto é
rotulado por “flme”.
● O sentdo da seta lndlica quem
depende de quem.
Dependênfia
• Exemplo de Dependênfia:
●
Implementação em Java
DVD-PLAYER DVD-MIDIA
• Papel
• Multplifidade
• Navegabilidade
Nome
• Demonstra o objetvo da assofiação
Papel
• Desfreve a função da flasse na assofiação
●
Quando há setas dos lados da assofiação assume-se
dupla navegabilidade
Navegabilidade
Exerfífios ?
17/09/14 40