Professional Documents
Culture Documents
br
Tpicos
n
n
n
n
n
Classes
Objetos
Mensagens e mtodos
Herana e hierarquias
Exemplos de classes
Classes
n
Classes :
Padres a partir dos quais objetos so criados
Especificam comportamento comum aos objetos
Descrevem a estrutura de um objeto
Objetos de uma mesma classe so idnticos
Contm a declarao de atributos e mtodos
Classes
palavra-chave
nome da classe
Classes
n
Atributos :
Definem comportamento esttico das instncias
Apresentam nome e valor
Tem os seus valores restritos uma faixa
Podem ter valores default iniciais
Podem ter valores fixos ou variveis
Podem ter valores diferentes para cada instncia
Podem ter valores iguais para cada instncia
Classes
n
Mtodos :
Comportamento dinmico de uma classe
Controlam o acesso aos atributos
Atributos so encapsulados
Se diz que os mtodos so invocados
Mtodos podem ser pblicos ou privados
Mtodos privados so de uso interno
Mtodos pblicos definem servios
Classes
n
Notao UML :
Nome
Atributos
Mtodos
Pessoa
nome
nascimento
endereo
telefone
RG
CPF
Pessoa
-nome:String
-nascimento:Date
-endereo:String
-telefone:Integer
-RG:Integer
-CPF:Integer
- associao
- agregao
- herana
Associao :
Links so ligaes fsicas entre objetos
Associaes descrevem grupos de links iguais
Multiplicidade limita o tamanho de uma coleo
Cardinalidade o tamanho de uma coleo
Agregao :
Relacionamento do tipo -parte-de
Associao entre um todo e suas partes
Especializao :
Atributo adicional
Restries quanto ao valor do atributo
Atributo passando a ter valor constante
Mtodo adicional
Redefinio de mtodo
Herana :
Possibilita reutilizao de classes
Classes podem herdar variveis e mtodos
Possibilita especializao e evoluo
Podem haver mltiplos nveis
Classes so organizadas em hierarquias
class
{
this . x = x ;
this . y = y ;
}
}
funo-membro pblica
Notao UML :
Associao
Conta Corrente
Conta Especial
1..*
Conta Investimento
Cliente
Generalizao
Barra Manu
Pessoa
Menu
Item
Interfaces
n
Interfaces :
Definem os servios providos por classes
Contm mtodos pblicos abstratos
So implementadas por classes
Possibilitam codificao de forma genrica
Aumenta a portabilidade do cdigo
Uma classe pode implementar mltiplas interfaces
Interfaces
interface ContaCorrente {
void
depositar
double sacar
}
( double valor );
( double valor );
Interfaces
n
Notao UML :
ContaCorrente
Tela Saque
ContaEspecial
<< interface >>
ContaCorrente
{ abstract }
Objetos
n
Objetos :
So instncias das classes
Podem existir mltiplos objetos de mesma classe
Estado do objeto escondido do mundo exterior
Mtodos determinam a interface com o objeto
Exemplo :
Cliente
classe
criando o objeto
jose = new
Cliente ( ) ;
Objetos
n
Notao UML :
Um objeto apresentado
como uma classe cujo
nome sublinhado.
Autor : Pessoa
-nome = Pedro Silva
-endereo = Brasilia
-telefone = 2733589
-RG = 5889993
-CPF = 23887877
Mensagens :
Possibilitam interao entre os objetos
Contm nome do objeto, do mtodo e parmetros
menu_principal.seleciona ( segunda_opcao ) ;
objeto
mtodo
parmetro
solicitao
emissor
receptor
resposta
Notao UML :
Podem ser usados diagramas de colaborao ou
diagramas de seqncia
Ambos representam as interaes entre os objetos
Diagramas de seqncia focam no tempo e os de
colaborao focam nas ligaes entre os objetos
Ambos podem ser usados para descrever a execuo
de uma operao, de um caso de uso ou um cenrio
de interao
Diagramas de seqncia :
Objeto
:Tela
Autenticao
: Usurio
Ativao
Mensagem
Linha da vida
Diagramas de colaborao :
1: analisar ( Temperatura )
Sensor Temperatura
Monitor Temperatura
2: desligar ( )
Ligaes que so
instncias de
relacionamentos
entre classes
Motor
Mensagem enviada
entre objetos