You are on page 1of 33

Programação Orientada a Objetos

Professor Raimundo Osvaldo


Departamento de Computação
IFMA/ Campus São Luís – Monte Castelo
Aula 01 OBJETIVOS
1. Conceituar modelo e
Introdução à Programação abstração;
2. Elaborar modelos
Orientada a Objetos computacionais de entidades
do mundo real
Modelos e Abstração
Referências
KEOGH, Jim; GIANNINI, Mario. OOP Desmistificado: Programação
Orientada a Objetos. Rio de Janeiro: Alta Books, 2005
SANTOS, Rafael. Introdução à Programação Orientada a Objetos
usando Java. São Paulo: Elsevier, 2008
Depende de
quem você é
Depende de
quem você é
Um programa de computador
emula o mundo real
Coisas
Objetos Processos

Ideias Coisas Pessoas

Tarefas Conceitos
Objetos
Como podemos representar
um objeto?

Modelos
representações simplificadas
de entidades do mundo real

Abstração
Modelos

Exemplo
um Restaurante Caseiro que
serve comida a quilo, onde o
gerente, que é também a
pessoa que fica na balança e
no caixa, anota os pesos dos
pratos dos clientes e os pedidos
que os garçons trazem em um
quadro branco.
Modelos
O quadro-branco é um modelo do restaurante
Representa de forma simplificada as informações do
restaurante que são necessárias para a contabilização dos
pedidos feitos para os garçons e gerente

Abstração Computacional
Dados + Operações
(Tipo Abstrato de Dado)
Modelos e Abstração Computacional

Quais dados o modelo do


restaurante representa?

Os itens e as quantidades
dos pedidos por mesa
Modelos e Abstração Computacional

Quais dados o modelo do


restaurante representa?

Os itens e as quantidades
dos pedidos por mesa
Modelos e Abstração Computacional

Quais operações podemos fazer no


Modelo de Restaurante?

Listas de comandos que


processarão os dados
contidos no próprio modelo.

fechar a conta de uma mesa


totalizar vendas do dia
Modelos Compostos
Modelos podem conter sub-modelos e ser
parte de outros modelos
Exemplo: o modelo de restaurante poderia ser composto por
vários modelos mesa de restaurante
Modelos e Abstração

Quais dados e operações devemos


representar em um modelo?

Depende do contexto em que estamos


elaborando o modelo
Modelos e Abstração

Devemos representar em uma entidade


APENAS os aspectos mais relevantes
para um contexto particular.
Modelos e Abstração

Que dados e operações são importantes


para modelar uma pessoa como:
Empregado de uma Empresa?
Paciente de uma Clínica Médica?
Contato Comercial?
Modelos e Abstração

Empregado Paciente
nome nome
salario sexo
horas extras idade
calcular salário peso
reajustar salário altura
pagar horas extras histórico de consultas
verificar obesidade
ContatoComercial marcar consulta
nome marcar exame
telefone
empresa Dependendo do contexto,
mostrar telefone alguns dados devem ser
mostrar empresa ocultos ou ignorados.
Modelos e Abstração
Um mesmo modelo pode ser utilizado para representar
cada entidade particular de um contexto

ContatoComercial
Raimundo Osvaldo
ContatoComercial (98) 9999-9999
IFMA
nome ContatoComercial
telefone Maria Lúcia
empresa (98) 98765-4321
mostrar telefone Vale
ContatoComercial
mostrar empresa José Fernandes
(83) 9843-2100
Viação Progresso
Modelos e Programação
A utilização de modelos é algo simples e está no
cotidiano das pessoas

A utilização desta abordagem na programação deu


origem ao paradigma

Programação Orientada a Objetos


Representação de Modelos
Adaptação de Diagrama de Classes da UML
(Linguagem de Modelagem Unificada)

Nome do Modelo

Dados do modelo

Operações do modelo
Representação de Modelos
Pseudocódigo

modelo <Nome do Modelo>


inicio

dado <dado 1> [, <dado 2>, ..., <dado n>]

operação <nome da operação> (<parâmetros>){


<comandos>
}

fimDoModelo
Exemplos de Modelos
Conta Bancária
Conta Bancaria
- numero
- titular
- senha
- saldo
+ abreConta(num, nome, pwd, deposito)
+ creditaValor(valor)
+ debitaValor(valor, pwd)
+ mostraSaldo(pwd)
Exemplos de Modelos
modelo Conta Bancária
inicio

dado numero, titular, senha, saldo

operação abreConta (num, nome, pwd, deposito){


numero = num;
titular = nome;
senha = pwd;
saldo = deposito;
}
...
Exemplos de Modelos
...
operação creditaValor (valor){
saldo = saldo + valor;
}

operação debitaValor (valor, pwd){


se(pwd == senha){
saldo = saldo - valor;
}
}
...
Exemplos de Modelos
...

operação mostraSaldo (wd){


se(pwd == senha){
imprima(saldo);
}
}

fimDoModelo
Exemplos de Modelos
Data
Dados Básicos: dia, mês e ano
Operações: inicializar uma data, verificar se a data é válida,
mostrar uma data
Conta Bancaria
- dia
Para este modelo, vamos supor
- mês que o valor do mês é
- ano representado por um número
inteiro entre 1 e 12, inclusive.
+ inicializaData(d, m, a)
+ dataEhValida(d, m, a) Devemos considerar que existem
+ mostraData() datas válidas e inválidas.
Exemplos de Modelos
modelo Data
inicio

dado dia, mês, ano

operação inicializaData (d, m, a){


se(dataEhValida(d, m, a)){
dia = d;
mês = m;
ano = a;
}
senão{
dia = 0;
mês = 0;
ano = 0;
}
}
...
Exemplos de Modelos
...
operação dataEhValida(d, m, a){
se(d >= 1 E dia <= 31 E mês >= 1 E mês <= 12){
retorna verdadeiro;
}
senão{
retorna falso;
}
}

operação mostraData(){
imprima(dia, “/”, mês, “/”, ano)
}

fimDoModelo
Faça suas anotações

Hora do Café... Preencha o Mapa Conceitual


Quais as suas dúvidas?
Faça os Exercícios

You might also like