View
18
Download
0
Category
Preview:
Citation preview
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 (edmilson.campos@ifrn.edu.br) 2
▪
▪»
»
▪»
▪
▪
▪
Edmilson Campos (edmilson.campos@ifrn.edu.br) 3
Edmilson Campos (edmilson.campos@ifrn.edu.br) 4
Edmilson Campos (edmilson.campos@ifrn.edu.br) 5
Edmilson Campos (edmilson.campos@ifrn.edu.br) 6
Quais objetos eu posso abstrair deste sistema?
Edmilson Campos (edmilson.campos@ifrn.edu.br) 7
Edmilson Campos (edmilson.campos@ifrn.edu.br) 8
▪
▪
▪
»
»
▪
Edmilson Campos (edmilson.campos@ifrn.edu.br) 10
▪
»
»
»
»
Edmilson Campos (edmilson.campos@ifrn.edu.br) 11
Dados
A = 10;
B = 100
Função
Dividir
Função
Somar
Dados
A = 10;
B = 100
Método
Dividir
Método
Somar
Edmilson Campos (edmilson.campos@ifrn.edu.br) 12
DADOS OPERAÇÕES OBJETO
Edmilson Campos (edmilson.campos@ifrn.edu.br) 13
Quais os dados e operações que podemos abstrair deste objeto?
Edmilson Campos (edmilson.campos@ifrn.edu.br) 14
▪
»−
»−
−
»−
Edmilson Campos (edmilson.campos@ifrn.edu.br) 15
▪
»
»
▪
»
Edmilson Campos (edmilson.campos@ifrn.edu.br) 16
▪
»
»
»
Edmilson Campos (edmilson.campos@ifrn.edu.br) 17
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 (edmilson.campos@ifrn.edu.br) 18
Modelo
Edmilson Campos (edmilson.campos@ifrn.edu.br) 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 (edmilson.campos@ifrn.edu.br) 20
▪
»
▪
»
▪boolean false
aritméticos 0
char ‘\u0000’
class null
public int x;
private Double y;
Ponto p1;
Exemplos:
Edmilson Campos (edmilson.campos@ifrn.edu.br) 21
▪
»
»
−
this.membro;
class Qualquer { private int x, y; public void mover(int x, int y) { this.x = x; this.y = y; } }
Edmilson Campos (edmilson.campos@ifrn.edu.br) 22
▪
▪
»
»
»
»
<visibilidade> <modificador> tipoRetorno nomeMetodo (tipoParametro1 parametro1, ... );
public int metodo (int x, int y);
Edmilson Campos (edmilson.campos@ifrn.edu.br) 23
▪
»
»
»
−
−
−
Edmilson Campos (edmilson.campos@ifrn.edu.br) 24
▪
▪
»
▪
»
▪
»
»
Edmilson Campos (edmilson.campos@ifrn.edu.br) 25
▪public class Circulo { public Circulo() { raio = 0; } public double Area() { return Math.PI * Math.pow(raio, 2); } private double raio; }
Edmilson Campos (edmilson.campos@ifrn.edu.br) 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 (edmilson.campos@ifrn.edu.br) 27
▪
»
▪
▪
Edmilson Campos (edmilson.campos@ifrn.edu.br) 28
Edmilson Campos (edmilson.campos@ifrn.edu.br) 29
Default
ou Friendly Protected Public Private
▪
▪
▪
▪
»
»
»−
»
−−
»
Edmilson Campos (edmilson.campos@ifrn.edu.br) 31
▪
▪
▪
»
▪
Edmilson Campos (edmilson.campos@ifrn.edu.br) 32
Edmilson Campos (edmilson.campos@ifrn.edu.br) 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 (edmilson.campos@ifrn.edu.br) 34
▪»
»
»
▪»
»
»
Edmilson Campos (edmilson.campos@ifrn.edu.br) 35
Edmilson Campos (edmilson.campos@ifrn.edu.br) 36
▪
▪
▪
▪
▪
Recommended