Componente: Programação Orientada à Objetos€¦ · Programação Orientada à Objetos ......
Transcript of Componente: Programação Orientada à Objetos€¦ · Programação Orientada à Objetos ......
![Page 1: Componente: Programação Orientada à Objetos€¦ · Programação Orientada à Objetos ... •Objetos são instância de uma classe •Objetos semelhantes pertencem a mesma classe](https://reader034.fdocuments.net/reader034/viewer/2022052320/605bdbe8f20d027a6929d3b7/html5/thumbnails/1.jpg)
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
![Page 4: Componente: Programação Orientada à Objetos€¦ · Programação Orientada à Objetos ... •Objetos são instância de uma classe •Objetos semelhantes pertencem a mesma classe](https://reader034.fdocuments.net/reader034/viewer/2022052320/605bdbe8f20d027a6929d3b7/html5/thumbnails/4.jpg)
Edmilson Campos ([email protected]) 4
![Page 5: Componente: Programação Orientada à Objetos€¦ · Programação Orientada à Objetos ... •Objetos são instância de uma classe •Objetos semelhantes pertencem a mesma classe](https://reader034.fdocuments.net/reader034/viewer/2022052320/605bdbe8f20d027a6929d3b7/html5/thumbnails/5.jpg)
Edmilson Campos ([email protected]) 5
![Page 6: Componente: Programação Orientada à Objetos€¦ · Programação Orientada à Objetos ... •Objetos são instância de uma classe •Objetos semelhantes pertencem a mesma classe](https://reader034.fdocuments.net/reader034/viewer/2022052320/605bdbe8f20d027a6929d3b7/html5/thumbnails/6.jpg)
Edmilson Campos ([email protected]) 6
![Page 10: Componente: Programação Orientada à Objetos€¦ · Programação Orientada à Objetos ... •Objetos são instância de uma classe •Objetos semelhantes pertencem a mesma classe](https://reader034.fdocuments.net/reader034/viewer/2022052320/605bdbe8f20d027a6929d3b7/html5/thumbnails/10.jpg)
Edmilson Campos ([email protected]) 10
![Page 12: Componente: Programação Orientada à Objetos€¦ · Programação Orientada à Objetos ... •Objetos são instância de uma classe •Objetos semelhantes pertencem a mesma classe](https://reader034.fdocuments.net/reader034/viewer/2022052320/605bdbe8f20d027a6929d3b7/html5/thumbnails/12.jpg)
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
![Page 14: Componente: Programação Orientada à Objetos€¦ · Programação Orientada à Objetos ... •Objetos são instância de uma classe •Objetos semelhantes pertencem a mesma classe](https://reader034.fdocuments.net/reader034/viewer/2022052320/605bdbe8f20d027a6929d3b7/html5/thumbnails/14.jpg)
Quais os dados e operações que podemos abstrair deste objeto?
Edmilson Campos ([email protected]) 14
![Page 18: Componente: Programação Orientada à Objetos€¦ · Programação Orientada à Objetos ... •Objetos são instância de uma classe •Objetos semelhantes pertencem a mesma classe](https://reader034.fdocuments.net/reader034/viewer/2022052320/605bdbe8f20d027a6929d3b7/html5/thumbnails/18.jpg)
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
![Page 20: Componente: Programação Orientada à Objetos€¦ · Programação Orientada à Objetos ... •Objetos são instância de uma classe •Objetos semelhantes pertencem a mesma classe](https://reader034.fdocuments.net/reader034/viewer/2022052320/605bdbe8f20d027a6929d3b7/html5/thumbnails/20.jpg)
▪
▪
»
»
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
![Page 21: Componente: Programação Orientada à Objetos€¦ · Programação Orientada à Objetos ... •Objetos são instância de uma classe •Objetos semelhantes pertencem a mesma classe](https://reader034.fdocuments.net/reader034/viewer/2022052320/605bdbe8f20d027a6929d3b7/html5/thumbnails/21.jpg)
▪
»
▪
»
▪boolean false
aritméticos 0
char ‘\u0000’
class null
public int x;
private Double y;
Ponto p1;
Exemplos:
Edmilson Campos ([email protected]) 21
![Page 22: Componente: Programação Orientada à Objetos€¦ · Programação Orientada à Objetos ... •Objetos são instância de uma classe •Objetos semelhantes pertencem a mesma classe](https://reader034.fdocuments.net/reader034/viewer/2022052320/605bdbe8f20d027a6929d3b7/html5/thumbnails/22.jpg)
▪
»
»
−
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
![Page 23: Componente: Programação Orientada à Objetos€¦ · Programação Orientada à Objetos ... •Objetos são instância de uma classe •Objetos semelhantes pertencem a mesma classe](https://reader034.fdocuments.net/reader034/viewer/2022052320/605bdbe8f20d027a6929d3b7/html5/thumbnails/23.jpg)
▪
▪
»
»
»
»
<visibilidade> <modificador> tipoRetorno nomeMetodo (tipoParametro1 parametro1, ... );
public int metodo (int x, int y);
Edmilson Campos ([email protected]) 23
![Page 26: Componente: Programação Orientada à Objetos€¦ · Programação Orientada à Objetos ... •Objetos são instância de uma classe •Objetos semelhantes pertencem a mesma classe](https://reader034.fdocuments.net/reader034/viewer/2022052320/605bdbe8f20d027a6929d3b7/html5/thumbnails/26.jpg)
▪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
![Page 27: Componente: Programação Orientada à Objetos€¦ · Programação Orientada à Objetos ... •Objetos são instância de uma classe •Objetos semelhantes pertencem a mesma classe](https://reader034.fdocuments.net/reader034/viewer/2022052320/605bdbe8f20d027a6929d3b7/html5/thumbnails/27.jpg)
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
![Page 30: Componente: Programação Orientada à Objetos€¦ · Programação Orientada à Objetos ... •Objetos são instância de uma classe •Objetos semelhantes pertencem a mesma classe](https://reader034.fdocuments.net/reader034/viewer/2022052320/605bdbe8f20d027a6929d3b7/html5/thumbnails/30.jpg)
▪
▪
▪
▪
![Page 33: Componente: Programação Orientada à Objetos€¦ · Programação Orientada à Objetos ... •Objetos são instância de uma classe •Objetos semelhantes pertencem a mesma classe](https://reader034.fdocuments.net/reader034/viewer/2022052320/605bdbe8f20d027a6929d3b7/html5/thumbnails/33.jpg)
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)
![Page 34: Componente: Programação Orientada à Objetos€¦ · Programação Orientada à Objetos ... •Objetos são instância de uma classe •Objetos semelhantes pertencem a mesma classe](https://reader034.fdocuments.net/reader034/viewer/2022052320/605bdbe8f20d027a6929d3b7/html5/thumbnails/34.jpg)
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