Вы находитесь на странице: 1из 7

PARTE I: Fundamental

 Conceito de objeto
Orientao a Objetos
 Princpios bsicos da OO
Reviso dos conceitos  Conceito de classe
Prof. Cesar Augusto Tacla  Atributos e Operaes

Objeto Objeto

 Entidade fsica, conceitual ou software  uma entidade com identidade e com


Fsica: pessoa, veculo limite bem definido que encapsula estado
e comportamento
operao

Conceitual: locao, emprstimo


Estado atributos
oo

Comportamento
Software: estrutura (fila, pilha, lista) Identidade operao

Objeto

Estado de um objeto Comportamento de um objeto


 Como o agente age e reage aos pedidos de outros objetos
 Dado pelos atributos e pelas relaes com
 Conjunto de operaes que o objeto capaz de executar
outros objetos
ar
operao Lan
s
Nota
Nome: Eclair Silva Nome: Eclair Silva Lanar notas
SetarMax

Nome: Eclair Silva


Admisso: fev/1995 Admisso: fev/1995 Escolher disciplina
Aulas

Admisso: fev/1995
Cargo: prof. adjunto Cargo: prof. adjunto Tirar frias
oo
Depto: informtica
oo adjunto
Cargo: prof.
Depto: informtica SetarMaxAulas Depto: informtica
MxAulas: 12h/sem MxAulas: 12h/sem
MxAulas: 12h/sem
Es disc
co .
operao ia s
fr ar lh
er
T ir

Objeto Prof. Jos Lader Objeto Prof. Eclair Silva

1
Identidade de objetos Objeto: exemplo

 Cada objeto tem sua prpria  Estado?


identidade,mesmo se os estados so  Comportamento?
idnticos  Identidade?

Nome: Eclair Silva Nome: Eclair Silva


Admisso: fev/1995 Admisso: fev/1995
Cargo: Professor adjunto Cargo: Professor adjunto
Depto: informtica Depto: informtica
MxAulas: 12h/sem MxAulas: 12h/sem

Exemplo semforo Objeto


 Estado: vermelho  Exerccio
 Identidade: semforo da rua x no
cruzamento x e y apostila reviso OO exerccio 01
 Comportamento:
 Implementar a classe semforo e
Depois(1)
vermelho
vermelho verde
verde instanciar um objeto

Depois(15) Depois(1)

amarelo
amarelo

Objeto: exemplos PARTE I: Fundamental


Notao em UML
 Conceito de objeto
objeto : classe
 Princpios bsicos da OO
Eclair Silva:Professor
 Conceito de classe
Semforo y:Semforo
 Atributos e Operaes
Semforo x:Semforo

Tecno-OO, manh :Turma

: Turma
Objeto annimo

2
Princpios bsicos de OO Abstrao

 Caractersticas essenciais de uma


entidade e/ou aquelas que a distiguem
das demais
ENCAPSULAMENTO

MODULARIDADE
ABSTRAO

HIERARQUIA
 Define um limite (viso limitada) da

ABSTRAO
perspectiva do observador

 denota a essncia ideal de algo

Exemplo de abstrao Encapsulamento

 Esconder os detalhes de implementao


(e das decises de projeto associadas)
dos clientes atrs de uma interface
Aluno professor turma

Uma disciplina ofertada em turmas

ENCAPSULAMENTO
Um aluno algum que se matricula em
turmas ofertadas na universidade

Um professor algum que leciona Disciplina (lgebra)


em turmas ofertadas pela universidade

Uma turma uma oferta especfica de uma


disciplina compreendendo horrio e dias da semana

Encapsulamento Encapsulamento

 Interessante pois  Um objeto encerra atributos (dados) e


(mtodos)
Impede que clientes corrompam o
o estado interno do objeto  Torna pblicos somente os atributos e
operaes que interessam aos outros
Evita a necessidade de alterar o cdigo objetos
do cliente quando h modificaes
na implementao do objeto
 As demais operaes so utilizadas para
funcionamento interno

3
Exemplo de encapsulamento Modularidade
 Aumentar a carga horria semanal mxima do professor Eclair
 Decomposio de um todo
em partes menores (lgicas
ou fsicas) mais facilmente
ar
Lan
Nota
s administrveis e menos
complexas
SetarMax

Nome: Eclair Silva

MODULARIDADE
Aulas
Admisso: fev/1995
SetarMaxAulas(20) oo
Cargo: Professor adjunto
Depto: informtica
MxAulas: 12h/sem
Es disc
 Exemplos: pacotes,
ia s
fr ar
co .
lh
er subsistemas
T ir

Objeto Prof. Eclair Silva

Exemplo de modularidade Hierarquia


 Organizao de elementos em forma de
 Sistema de matrculas
rvore que evidencia as diferenas e
Administrao das disciplinas
semelhanas dos mesmos.
Administrao dos alunos
Faturamento (particular)

Sistema de matrculas

HIERARQUIA
Administrao Administrao
de dos Faturamento
disciplinas alunos

Exemplo de hierarquia PARTE I: Fundamental


Maior abstrao
capital  Conceito de objeto
Depsito Imobilirio Papis  Princpios bsicos da OO
bancrio
 Conceito de classe
Fundos Aes Ttulos
Conta
 Atributos e Operaes
Corrente Poupana
Mesmo nvel na hiearquia =
Mesmo nvel de abstrao

Menor abstrao

4
Classe Classe: representao em UML

 Descrio de um conjunto de objetos que tm


em comum: <<esteretipo>>
Atributos (ou propriedades) Nome da classe
Comportamento (operaes) atributos
Relacionamentos (com outros objetos)
operaes
Semntica (significado)

 Uma classe uma abstrao que


Enfatiza certos aspectos
Suprime aspectos irrelevantes

Exemplo de classe Classe e Objeto

 Classe uma definio abstrata de um objeto


Define prototipicamente a estrutura e o comportamento
<<esteretipo>> de cada objeto da classe
Professor Classes servem como templates/modelos para criao
- nome:String de objetos
- admissao:Date
- cargo: String
abstrao - depto: String  Objeto: instncia de classe (tempo de execuo)
- maxAulas: int
Seleo dos aspectos  Classe: descrio esttica
relevantes ao sistema + LanarNotas()
+ EscolherDisciplina()
Objetos do mundo real + TirarFerias()
+ SetarMaxAulas()

Classe x Objeto Classe x Objeto objeto

t71:Turma
 Exerccio rpido <<esteretipo>> -sala: B109
Turma -horario[2]: {m1_3f, m4_5f}
- sala: String -disciplina: IF53B
-prof: Simo
 D um exemplo: - horario[]:Horario
-alunos[3]: {Jos, Joo, Maria}
- disciplina: Disciplina
 de uma classe turma (atributos, operaes) - prof: Professor Valores em azul so referncias a objetos
- alunos[]: Aluno
 de uma instncia de classe turma
+obterLocal() m1_3f:Horario
Utilize a notao UML
+SetarLocal() - inicio: 07:30
Outros setters e getters - durao: 2
+adicionarAluno() - diaSemana: 3
+excluirAluno()
objeto

5
PARTE I: Fundamental Atributos

 Conceito de objeto  Propriedade de uma classe que define a


 Princpios bsicos da OO faixa de valores que as instncias da
 Conceito de classe propriedade podem assumir
 Atributos e Operaes

Atributos Atributos: exemplos


[<visibilidade>]<nome>[<multiplicidade>][:<tipo>][=<valor inicial>]

<<esteretipo>>
<visibilidade>:
Aluno
 + pblico
 - privada, somente mtodos da classe podem acess-lo - nome[30]: char
- sexo: char=f
 # protegido, mtodos da classe e das classes derivadas
+ cdigo: int=0
podem acess-lo
#dataNasc: Date
 ~ de pacote ou default
operaes
<nome>: nome do atributo
<multiplicidade>: valores[5] ou matriz[4, 6]
<tipo>: char, float ou int.
<valor inicial>: deve respeita o tipo de dado.

Operao Operao
[<visibilidade>]<nome>([<lista argumentos>])[:<tipo>]
 Operao especifica o que uma classe faz e a interface
para chamar estes servios <visibilidade>:
 + pblico
 Mtodo a implementao de um servio que pode ser  - privada, somente mtodos da classe podem acess-lo
invocado por outro objeto e afeta o comportamento do  # protegido, mtodos da classe e das classes derivadas
objeto invocado podem acess-lo
 ~ de pacote ou default
 Operaes podem mudar ou no o estado do objeto
<nome>: nome da operao
 Assinatura: retorno + nome + parmetros <lista de argumentos>: (<nome>:<tipo>, ..., <nome><tipo>)
<tipo>: Tipo do dado retornado

6
Operao: exemplo

<<esteretipo>>
Aluno
- nome[30]: char
- sexo: char=f
+ cdigo: int=0

+calcularIdade():int
+mudarNome(nn:String):void

Вам также может понравиться