Você está na página 1de 43

Graduao Tecnolgica em Anlise de Desenvolvimento de Sistemas

Programao Orientada a Objetos II Professor: Fabio Henrique E-mail: fabioh.sousa@hotmail.com

Diagrama de classes
Representa a essncia da UML.

Resultado de uma combinao de vrios mtodos.


Estrutura lgica esttica.

O que interage e no como interage.


Coleo de elementos declarativos do modelo: classes, tipos, contedos e relaes.

Objeto
Conceito
Unidade real ou abstrata
Individualizada Identificvel

Modela um conceito presente na realidade humana

Caractersticas
Estado

Identidade
Comportamento

Objeto
Estado
Caractersticas herdadas ou distintas que contribuem para que
se torne nico.

Identidade
Propriedade que o distingue dos demais. Preservada mesmo quando seu estado muda.

Comportamento
Define o modo como age e reage a estmulos externos.

Objeto
Exemplos
Pessoa Equipamento Dinheiro Automvel

Classe
Conceito
Um conjunto de objetos que compartilham estrutura e
comportamento comuns. Compartilham as mesmas caractersticas de:
Atributos Operaes

Relaes
Semntica

Classe
Exemplo
Classe indivduo

Classe = grupo de
objetos similares que compartilham atributos e comportamento semelhantes.

Objetos= ocorrncias de uma classe

Classe
Representao das classes

Variaes

Atributo
Definio
Menor unidade que em si possui significncia prpria e interrelacionada com o conceito lgico da classe qual pertence.
Atributos

Sintaxe padro
Visibilidade nomeDoAtributo: TipoDeExpresso = ValorInicial

Visibilidade de atributo
+ visibilidade pblica (default)
Significa que todos tm acesso.
O atributo pode ser utilizado por operaes declaradas dentro de outras classes.

parte da interface de uma classe.


Visvel por qualquer poro do ambiente de sua referncia. Representado por: + cpfDoCliente

Visibilidade de atributo
# visibilidade protegida
acessado atravs de operaes dentro da mesma classe.

Pode ser acessado por operaes das


subclasses da classe em questo.

Representado por: # situao

Visibilidade de atributo
- visibilidade privada
parte da interface de uma classe. Mas no visvel a quaisquer outras classes. S pode ser acessado por operaes declaradas dentro da mesma classe.

Representado por: - limiteDeCrdito

Visibilidade de atributo

Visibilidade pblica

Visibilidade protegida

Visibilidade privada

Identificador da classe
Conceitos
Individualiza e identifica cada objeto de uma classe.
Ser o ponto de referncia para sua distino de todos os demais dentro da classe. O identificador (OID - Object Identifier) atribudo automaticamente a objetos pelo gerenciador de objetos. Atuam como atributos de referncia para representar associaes entre objetos. Semelhante as chaves estrangeiras no modelo relacional.

Identificador da classe
Modelo relacional
Cliente
codigoCli PK nomeCliente endereo

Modelo orientado a objeto


Cliente Venda
dataVenda valorVenda

Venda
dataVenda valorVenda codigoCli FK

nomeCliente endereo

Uma diferena entre atributo de referncia e chave estrangeira o fato de que ela est associada a valores visveis ao usurio, enquanto o outro no est.

Operao
Conceitos
Servio de classe ou comportamento resultante de um procedimento algortmico. H uma distino entre operao e mtodo. Uma operao algo invocado por um objeto (procedimento de chamada). Mtodo a implementao de uma operao. Uma operao executada sempre que um objeto recebe uma mensagem de outro objeto.

Operao
Sintaxe padro
Visibilidade nomeDaOperao (parmetro): ExpressoDeTipoDeRetorno {Propriedade}

Operaes

Operao
Classificao
Construtoras
Operaes que criam e/ou inicializam o estado de um objeto;

Seletoras
Operao que tem acesso, mas no pode alterar, o valor ou estado de um objeto;

Modificadoras
Operao que altera o valor ou estado de um objeto;

Destrutoras
Operao que destri/desabilita um objeto.

Relacionamentos
Tipos de relacionamentos
Associao

Agregao
Generalizao/especificao Dependncia

Associao
Conceitos
uma relao que descreve um conjunto de vnculos entre
elementos do modelo. Um vnculo uma conexo semntica entre tuplas de objetos. Nomenclaturas em funo do nmero de classes envolvidas:
Associao unria Associao binria Associao n-ria

Associao
Associao unria
Relacionamento de uma classe consigo prpria.
Tambm conhecida como associao reflexiva.

Pode conectar dois objetos diferentes de uma mesma


classe ou um objeto a si prprio. Exemplo:

Associao
Associao binria
Quando h duas classes envolvidas na associao de forma direta de uma para a outra. Desenhada com uma linha slida que conecta duas classes. Exemplo:

Associao
Associao n-ria
Associao entre trs ou mais classes

Cada instncia da associao representa n estruturas de classes respectivas.


Exemplo:
Funcionrio Quesito Projeto

Associao ternria

Avaliao

Associao
Nome da associao
Pode-se usar um nome para representar a natureza
da relao entre as classes associadas.

O nome deve pertencer ao domnio do problema.


Exemplo:

Associao
Multiplicidade
Especifica a quantidade de correspondncia de um
objeto na classe A em objetos equivalentes na classe B.

Exemplo:

Associao
Multiplicidade
1

Classe Classe Classe

exatamente um

muitos (zero ou mais) opcional (zero ou um) seqncia especificada

0..1

m..n

Classe

Associao
Multiplicidade (outros exemplos)
Multiplicidade 0..1 1 0..* * 1..* 1..15 1..2,7..15,19,23..* Significado zero ou um somente 1 maior ou igual a zero maior ou igual a zero maior ou igual a um de 1 a 15, inclusive de 1 a 2, de 7 a 15, 19 ou acima de 23 (inclusive)

Associao
Navegabilidade
Representao da navegabilidade de um objeto de uma classe
a objeto de outra classe. percebida por objetos que mantm referncias de algum tipo entre objetos associados. Exemplo:

No exemplo acima poderamos indicar que um pedido tem a responsabilidade de informar a qual cliente pertence, mas um cliente no teria a habilidade de dizer quais pedidos possui.

Agregao
Definio
Forma especial de associao utilizada para mostrar
que um tipo de objeto composto, pelo menos em

parte, de outro em uma relao de todo/parte.


A agregao pode ser desejada quando o objeto contido tem estrutura complexa.

Agregao
Exemplo:

Todo

Parte

Agregao
Composio
Tipo de agregao com uma forte propriedade e vida
coincidente da parte com o todo. O objeto todo declara uma instncia real do objeto parte dentro do seu prprio corpo tornando o objeto parte fisicamente nele contido. semanticamente equivalente a um atributo, mas pode ser visualmente mais atraente quando a parte tem sua prpria estrutura interna.

Agregao
Composio
O fim do objeto todo acarreta o fim das suas partes. Exemplos:
Todo

Parte

Generalizao
Definio
um relacionamento de taxionomia entre um elemento mais
geral e um elemento mais especfico que completamente consistente com o primeiro somando-o informao adicional

especializada.
Indica que uma classe mais geral, a superclasse, tem atributos, operaes e associaes comuns que so compartilhados por

classes mais especializadas, as subclasses.

Generalizao
Exemplos:

tipo-de

tipo-de

As subclasses herdam atributos, operaes e associaes da superclasse e agregam atributos e operaes particulares ao elemento de especializao a que se referem.

Restries para generalizao


Sobreposio Subclasses derivadas de uma superclasse podem ocorrer simultaneamente para uma mesma ocorrncia da superclasse. Disjuno Subclasses derivadas de uma superclasse podem ocorrer de maneira mutuamente exclusivas para uma mesma ocorrncia da superclasse. Completo Todas as subclasses foram especificadas, se mostradas ou no. Nenhuma subclasse adicional esperada, Incompleto Algumas subclasses foram especificadas mas a lista, por no ser conhecida est incompleta.

Restries para generalizao

A
{Restrio}

B
{completo}: N conhecido {disjuno}: B, C, ...,N so mutuamente exclusivos

...

{incompleto}: N no conhecido {sobreposio}: B, C, ...,N podem ocorrer simultaneamente

Herana mltipla
Definio

Variao da generalizao na qual um objeto pode


pertencer diretamente a mais de uma classe dentro da estrutura de classe existente.

Exemplo:

Agregao X generalizao
Use generalizao quando:

Um domnio sugere que um objeto tipo-de com outro.


Use agregao quando: mais intuitivo usar a expresso parte-de ou atributo-de.

Classe de associao
Definio
Elemento de modelagem que tem associao e propriedades de
classe. Pode ser vista como uma associao que tem propriedades de

classe ou como uma classe que tem propriedades de


associao. mostrada como um smbolo de classe anexado por uma linha

tracejada a um caminho de associao

Classe de associao
Exemplo:

Se uma classe de associao somente representa uma referncia entre classes (no contenha atributos ou operaes prprios), ela ser omitida na implementao fsica caso seja utilizado um banco de objetos. Banco de objetos aceita relaes m:n

Dependncia
Definio
Relacionamento onde uma classe cliente dependente de
alguns servios da classe fornecedora. A classe cliente no possui uma dependncia estrutural interna

com a classe fornecedora.


Exemplo:
Uma operao definida em uma classe cliente assume um

argumento de algum outro tipo de classe.

Dependncia
Exemplo:
Dependncia

Fornecedor

Cliente

Dependncia
Exerccios

1 Crie uma classe para pessoa na modelagem de


UML e com os seguintes atributos e mtodos: Atributos
nome, cpf, rg, data de nascimento, endereo, cep, bairro, municpio, email, telefone e celular

Mtodos
andar, correr, pular , danar, sentar e levantar

Você também pode gostar