Componente: MsC. Alexandro Vladno Edmilson Campos MsC. Fábio Procópio Esp. Felipe Dantas MsC. João Maria MsC. Liviane Melo Corpo docente: AULA 04 Programação Orientada à Objetos
Componente:
MsC. Alexandro Vladno
Edmilson Campos
MsC. Fábio Procópio
Esp. Felipe Dantas
MsC. João Maria
MsC. Liviane Melo
Corpo docente:
AULA 04
Programação Orientada à Objetos
Edmilson Campos ([email protected]) 4
Edmilson Campos ([email protected]) 5
Edmilson Campos ([email protected]) 6
Quais objetos eu posso abstrair deste sistema?
Edmilson Campos ([email protected]) 7
Edmilson Campos ([email protected]) 10
Dados
A = 10;
B = 100
Função
Dividir
Função
Somar
Dados
A = 10;
B = 100
Método
Dividir
Método
Somar
Edmilson Campos ([email protected]) 12
DADOS OPERAÇÕES OBJETO
Edmilson Campos ([email protected]) 13
Quais os dados e operações que podemos abstrair deste objeto?
Edmilson Campos ([email protected]) 14
Classe
Objeto
• Classe é onde
conceituamos o objeto
• É a essência do objeto
• Define os atributos e
métodos
• Objetos são instância de
uma classe
• Objetos semelhantes
pertencem a mesma classe
Edmilson Campos ([email protected]) 18
Modelo
Edmilson Campos ([email protected]) 19
▪
▪
»
»
class Circulo { double Area() { return Math.PI * Math.Pow(raio, 2); } double raio; }
Circulo circulo; //Cria uma variável Circulo circulo = new Circulo(); //Inicializa a variável
Edmilson Campos ([email protected]) 20
▪
»
▪
»
▪boolean false
aritméticos 0
char ‘\u0000’
class null
public int x;
private Double y;
Ponto p1;
Exemplos:
Edmilson Campos ([email protected]) 21
▪
»
»
−
this.membro;
class Qualquer { private int x, y; public void mover(int x, int y) { this.x = x; this.y = y; } }
Edmilson Campos ([email protected]) 22
▪
▪
»
»
»
»
<visibilidade> <modificador> tipoRetorno nomeMetodo (tipoParametro1 parametro1, ... );
public int metodo (int x, int y);
Edmilson Campos ([email protected]) 23
▪public class Circulo { public Circulo() { raio = 0; } public double Area() { return Math.PI * Math.pow(raio, 2); } private double raio; }
Edmilson Campos ([email protected]) 26
public class Circulo { public Circulo() { raio = 0; } public Circulo(int raio) { this.raio = raio; } public double Area() { return Math.PI * Math.Pow(raio, 2); } private double raio; }
Edmilson Campos ([email protected]) 27
▪
▪
▪
▪
Edmilson Campos ([email protected]) 33
▪
public class Lampada { private String fabricante; private double potencia;
public void acender() { /* implementação...*/ } public void apagar(){ /* implementação...*/ }
}
Atributos (Estado)
Métodos (Comportamento)
Lampada l = new Lampada(); l.acender();
acender() apagar()
Lampada
Interface
Nome
Definição de l, uma variável que é do tipo referência para Lâmpada.
Criação de um novo objeto da classe Lampada e atribuição de
sua referência à variável l. Envio de mensagem
(chamada de operação)
“acender” para o
objeto referenciado
por l
Edmilson Campos ([email protected]) 34