Escolar Documentos
Profissional Documentos
Cultura Documentos
à
Orientação a Objetos
(Parte I)
2
O que é Orientação a Objetos?
3
Contextualizando o Problema
4
Paradigma
Em Ciência da Computação:
Paradigmas explicam como os elementos que
5
Paradigma de Orientação a
Objetos
simples,
Manutenção tende a ser simples.
6
Por que usar Orientação a
Objetos?
7
Por que Orientação a Objetos?
Paradigma único,
Estabilidade de alteração.
8
Paradigma Único
9
Facilidade na Reutilização da
Arquitetura e do Software
10
Facilidade na Reutilização da
Arquitetura e do Software
11
Modelos que refletem o mundo
real
12
Estabilidade de alteração
13
Conceito de Orientação a
Objetos
14
Conceitos Fundamentais
Conceitos Estruturais
Conceitos Composicionais
Conceitos Comportamentais
15
Conceitos Estruturais
16
Conceitos Composicionais
17
Conceitos Comportamentais
18
Elementos básicos em
Orientação a Objetos
Objetos
Classes
Instâncias
19
Objeto
21
Classificando os objetos...
SERES HUMANOS
ANIMAIS
22
Objeto
23
Objeto - Estado
25
Objeto – Comportamento
26
Objeto – Comportamento –
Exemplo
27
Objeto - Identidade
28
Objeto - Exemplos
Características: Características:
cor azul cor amarelo
número 576-0989 placa LXY 7684
30 assentos
a diesel
Comportamento: Comportamento:
tocar frear
discar andar
correr
buzinar
acelerar
29
Objeto – Outro Exemplo
Montagem de um computador
Composto por vários componentes:
Placa-mãe
CPU
Placa de vídeo
Disco rígido
Teclado, etc.
30
Objeto – Outro Exemplo (cont.)
31
Objeto - Representação
Operações/métodos/interface
(público)
Dados/propriedades/atributos
(privado)
32
Exemplo – Lâmpada
Operações:
• Ligar
•Desligar
Dados:
• Ligada (s/n)
• Potência
• Voltagem
33
Exemplo
Classe: Principal
Neste exemplo, a classe principal será usada somente
para conter o método main
34
Exemplo (cont)
Como instanciar um objeto
Tipo Comando
35
Exemplo: Como realizar uma chamada a
método
36
Codificação
Codificação da
da classe
classe Usuario
Usuario
Codificação
Codificação da
da classe
classe Principal
Principal
37
Classe
38
Classe
39
Classe - Uma fábrica de objetos
Uma fábrica de objetos
Classe Lamp
Lamp 3
Lamp 1
Lamp 2
Comportamentos semelhantes
classe.
42
Classes - Exemplos
Características: Comportamento:
cor tocar
Telefone número discar
discagem
Por atributos
Por métodos
44
Classes – Exemplos
45
Classe - Exemplo
46
Classe – Exemplo de Código
Exemplo:
class Pessoa {
String nome, endereco;
float peso, altura;
void correr(){ ... }
void comer(){ ... }
void beber(){ ... }
void dormir(){ ...}
}
47
Classe – Exemplo de Código
48
Classe – Exemplo de Código
49
Classe – Exemplo de
Código(cont)
50
Classe – Exemplo de
Código(cont)
51
Classe – Outro Exemplo de
Código
Exemplo:
Performance da aplicação,
54
Exemplo de utilização de pacote
55
Instância
56
Instância
57
Instância
58
Instância - Exemplo
Classe SerHumano
Nome
Classificação Idade Instanciação
CPF
Nasce(){
....
Objeto OBJ1 }
Objeto OBJ2
Nome=Mr.Jones Estuda(){
Idade=34 .... Nome=Mr.Zoo
CPF=4567889484 }
Idade=45
CPF=6786968696
Nasce(){
.... Nasce(){
} ....
}
Estuda(){
.... Estuda(){
} ....
}
59
Instância – Exemplo de código
classe Cliente{
Identificacao id = new
Identificacao(“José das Couves”);
}
60
Exemplo de Instância
61
Exemplo de Instância-código
Instância o objeto
Instância o objeto
62
Atributos
63
Atributos
Enquanto na classe o atributo é uma especificação,
na instância representa o estado do objeto, a própria
identidade da instância.
Exemplo:
Classe: Triangulo
Atributos: base, altura, angulo1, angulo 2, angulo 3
65
Atributo – Outro Exemplo
Funcionário_Helena
Funcionário_Helena
Nome=Helena Reis
Nome=Helena Reis
Nasc=28/01/1965
Funcionário Nasc=28/01/1965
Salário = 4.000
Salário = 4.000
Nome InformarSalário Funcionário_Mário
InformarSalário Funcionário_Mário
Nasc CalcularIdade
Salário CalcularIdade Nome=Mário Sá
Nome=Mário Sá
Nasc=16/02/1970
Nasc=16/02/1970
Salário = 3.000
InformarSalário Salário = 3.000
CalcularIdade
InformarSalário
InformarSalário
CalcularIdade
CalcularIdade
66
Atributo – Exemplo de código
classe ContaCorrente{
double saldo = 0.0;
double credito = 1000.0;
Correntista titular;
}
67
Atributo – Exemplo de código
Declaração dos Atributos
68
Mensagens e Métodos
executar.
Passar os argumentos requeridos pelo método.
69
Mensagens
Receptor (servidor)
Emissor (cliente)
70
Mensagens - Exemplo
Funcionário_Helena
Funcionário_Helena 4000
4000 Informar
Nome=Helena Reis
Nome=Helena Reis
Salário?
Nasc=28/01/1965
Nasc=28/01/1965
Salário = 4.000
Salário = 4.000
Funcionário
InformarSalário
InformarSalário
CalcularIdade
Nome
CalcularIdade
Nasc
Salário
InformarSalário
CalcularIdade
Funcionário_Helena
Funcionário_Helena ? Calcular
Nome=Helena Reis
Desconto?
Nome=Helena Reis
Nasc=28/01/1965
Nasc=28/01/1965
Salário = 4.000
Salário = 4.000
InformarSalário
InformarSalário
CalcularIdade
CalcularIdade
ERRO!
71
Métodos
… as mensagens identificam os
métodos a serem executados no
objeto receptor
72
Métodos
73
Métodos - Exemplo
Através dos métodos, a instância tem a capacidade
de modificar seus atributos.
4000 Funcionário_Helena
Funcionário_Helena
Nome=Helena Reis
Funcionário
Nasc=28/01/1965Reis
Nome=Helena
Nome Nasc=28/01/1965
Salário = 4.000
Nasc Salário = 4.000
InformarSalário
Salário InformarSalário Funcionário_Mário
CalcularIdade Funcionário_Mário
InformarSalário CalcularIdade Nome=Mário Sá
Nome=Mário
Nasc=16/02/1970 Sá
CalcularIdade
Nasc=16/02/1970
Salário = 3.000
3000 Salário = 3.000
InformarSalário
InformarSalário
CalcularIdade
Informar CalcularIdade
Salário?
74
Método –Exemplo de código
No código Java vemos a especificação e a
implementação de métodos:
interface Conta{
void deposita(double quantia);
}
Nome RG Salário
Antonio da Silva 5.000.421 R$ 800,00
Manoel Antonio Mello 19.000.842 R$ 122,00
Silva Mello 7.010.421 R$ 8.000,00
76
Exemplo Geral (cont.)
77
Exemplo Geral (cont.)
Demissão
Aumento de salário
78
Exemplo Geral (cont.)
Identificação
classe Funcionário{
Nome
RG Atributos
Salário
contratação(Nome,RG,Salário)
demissão() Métodos
aumento(Porcentagem)
}
79
Exercício
80