Escolar Documentos
Profissional Documentos
Cultura Documentos
O Mundo
composto de Objetos !
1
27/09/2016
O que um Objeto?
Definies:
Alguma coisa que faz sentido no domnio da
aplicao,
Uma abstrao
Utilidade:
facilita a compreenso
oferece base real para implementao no
computador
Descrio de um Objeto
Atributos Comportamentos
Motor Avanar
Cor Retroceder
Potncia Parar
Rodas Abastecer
substantivos verbos
2
27/09/2016
Classe de Objetos
Grupo de objetos com os mesmos atributos
e os mesmos comportamentos
pertencem a mesma classe.
Classe
Ligar():void
operao1(argumentos): tipo-retorno TemGasolina():boolean
operao2(argumentos): tipo-retorno Virar(direo):void
3
27/09/2016
class Carro {
String Chassi;
Propriedades int Cor;
Cmotos Motor;
void Ligar()
{ comandos }
boolean TemGasolina()
Mtodos {comandos}
void Virar(direo)
{comandos}
}
Objeto Carro:
Instncia 3
4
27/09/2016
Instncias
class Aplicao {
Carro carros[];
Tempo de Execuo
public static void main(String arg[])
{ Objeto Carro:
Carro car1, car2, car3; Instncia 1
car1 = new Carro();
car2 = new Carro(); Instanciando Objetos
car3 = new Carro();
Objeto Carro:
if (car1.TemGasolina()) Instncia 2
{ car1.ligar();}
Encapsulamento
Propriedades
e Mtodos
Privados
Objeto 1
5
27/09/2016
Caractersticas de
um Objeto
Um objeto tem identidade nica, est em um dado
estado e exibe comportamentos bem definidos.
Classes
Semnticas
modelo de objetos (tempo de compilao)
fbrica de objetos
unidade de reuso
6
27/09/2016
Associao
Referncia a outras classes (parmetros ou
variveis de mtodos)
Agregao
Propriedades de um tipo de classe
Herana:
Uma classe (subclasse) herda as propriedades e
mtodos de uma classe superior (superclasse)
7
27/09/2016
Bomba Controlador
Programa Principal
CControlador controlador;
CBomba bomba1, bomba2;
...
if (controlador.energizada(bomba2)) {
controlador.ligar(bomba1);}
8
27/09/2016
Empresa Funcionrios
9
27/09/2016
Funcionrio Aluno
10
27/09/2016
Funcionrio Aluno
Salario: valor Disciplinas: lista CDisc
CartTrab: string Inicio: CPeriodo
Admissao: data PrevisaoFim: CPeriodo
AlterarSal(float valor):void; AlterarNota(float nota):void;
11
27/09/2016
Pessoa
Nome: String
Endereco: CEndereco
idade: inteiro
Funcionrio Aluno
Salario: valor Disciplinas: lista CDisc
CartTrab: string Inicio: CPeriodo
Admissao: data PrevisaoFim: CPeriodo
AlterarSal(float valor):void; AlterarNota(float nota):void;
12
27/09/2016
LinkImagem
Borda : boolean;
Estilo : CEstilo;
MostrarNomeLink();
Superclasses
com atributos e mtodos com
o mesmo nome: Qual deles ser herdado ?
Ex: Carro + Lancha = CarroAnfbio, Carro e Lancha
tem o atributo motor.
Alguns
atributos ou mtodos herdados
podem no ser usados.
Ex: Caminho+Brinquedo = CaminhodeBrinquedo,
CaminhodeBrinquedo mais briquedo que caminho.
13
27/09/2016
AlunoInstrutor
Disciplinas[]= CDisc;
CDisc= CPeriodo;
PrevisaoFim= CPeriodo;
14
27/09/2016
class CPessoa {
class CInstrutor{
String nome;
CDisc Disciplina;
CEnd endereco;
float CargaHorria;
int idade;
}
}
A tecnologia OO
Cinco palavras bsicas
15
27/09/2016
A tecnologia OO
Modelagem
Cenrio Esttico
(tempo de compilao)
16
27/09/2016
Cenrio Dinmico
(tempo de execuo)
Benefcios da
Orientao a Objetos
Reusabilidade
Estabilidade
Confiabilidade
Integridade
Melhorcomunicao com o usurio
Modelagem mais realstica
Manuteno mais fcil
17