Componente: Programação Orientada à Objetos€¦ · Programação Orientada à Objetos ......

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) 9

»

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