36
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: Programação Orientada à Objetos€¦ · Programação Orientada à Objetos ... •Objetos são instância de uma classe •Objetos semelhantes pertencem a mesma classe

  • Upload
    others

  • View
    18

  • Download
    0

Embed Size (px)

Citation preview

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

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 2: Componente: Programação Orientada à Objetos€¦ · Programação Orientada à Objetos ... •Objetos são instância de uma classe •Objetos semelhantes pertencem a mesma classe

Edmilson Campos ([email protected]) 2

Page 3: Componente: Programação Orientada à Objetos€¦ · Programação Orientada à Objetos ... •Objetos são instância de uma classe •Objetos semelhantes pertencem a mesma classe

▪»

»

▪»

Edmilson Campos ([email protected]) 3

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

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

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

Edmilson Campos ([email protected]) 6

Page 7: Componente: Programação Orientada à Objetos€¦ · Programação Orientada à Objetos ... •Objetos são instância de uma classe •Objetos semelhantes pertencem a mesma classe

Quais objetos eu posso abstrair deste sistema?

Edmilson Campos ([email protected]) 7

Page 8: Componente: Programação Orientada à Objetos€¦ · Programação Orientada à Objetos ... •Objetos são instância de uma classe •Objetos semelhantes pertencem a mesma classe

Edmilson Campos ([email protected]) 8

»

»

Page 9: Componente: Programação Orientada à Objetos€¦ · Programação Orientada à Objetos ... •Objetos são instância de uma classe •Objetos semelhantes pertencem a mesma classe

Edmilson Campos ([email protected]) 9

»

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

Edmilson Campos ([email protected]) 10

Page 11: Componente: Programação Orientada à Objetos€¦ · Programação Orientada à Objetos ... •Objetos são instância de uma classe •Objetos semelhantes pertencem a mesma classe

»

»

»

»

Edmilson Campos ([email protected]) 11

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

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 13: Componente: Programação Orientada à Objetos€¦ · Programação Orientada à Objetos ... •Objetos são instância de uma classe •Objetos semelhantes pertencem a mesma classe

DADOS OPERAÇÕES OBJETO

Edmilson Campos ([email protected]) 13

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

Quais os dados e operações que podemos abstrair deste objeto?

Edmilson Campos ([email protected]) 14

Page 15: Componente: Programação Orientada à Objetos€¦ · Programação Orientada à Objetos ... •Objetos são instância de uma classe •Objetos semelhantes pertencem a mesma classe

»−

»−

»−

Edmilson Campos ([email protected]) 15

Page 16: Componente: Programação Orientada à Objetos€¦ · Programação Orientada à Objetos ... •Objetos são instância de uma classe •Objetos semelhantes pertencem a mesma classe

»

»

»

Edmilson Campos ([email protected]) 16

Page 17: Componente: Programação Orientada à Objetos€¦ · Programação Orientada à Objetos ... •Objetos são instância de uma classe •Objetos semelhantes pertencem a mesma classe

»

»

»

Edmilson Campos ([email protected]) 17

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

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 19: Componente: Programação Orientada à Objetos€¦ · Programação Orientada à Objetos ... •Objetos são instância de uma classe •Objetos semelhantes pertencem a mesma classe

Modelo

Edmilson Campos ([email protected]) 19

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

»

»

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

»

»

▪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

»

»

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

»

»

»

»

<visibilidade> <modificador> tipoRetorno nomeMetodo (tipoParametro1 parametro1, ... );

public int metodo (int x, int y);

Edmilson Campos ([email protected]) 23

Page 24: Componente: Programação Orientada à Objetos€¦ · Programação Orientada à Objetos ... •Objetos são instância de uma classe •Objetos semelhantes pertencem a mesma classe

»

»

»

Edmilson Campos ([email protected]) 24

Page 25: Componente: Programação Orientada à Objetos€¦ · Programação Orientada à Objetos ... •Objetos são instância de uma classe •Objetos semelhantes pertencem a mesma classe

»

»

»

»

Edmilson Campos ([email protected]) 25

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

▪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

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 28: Componente: Programação Orientada à Objetos€¦ · Programação Orientada à Objetos ... •Objetos são instância de uma classe •Objetos semelhantes pertencem a mesma classe

»

Edmilson Campos ([email protected]) 28

Page 29: Componente: Programação Orientada à Objetos€¦ · Programação Orientada à Objetos ... •Objetos são instância de uma classe •Objetos semelhantes pertencem a mesma classe

Edmilson Campos ([email protected]) 29

Default

ou Friendly Protected Public Private

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

Page 31: Componente: Programação Orientada à Objetos€¦ · Programação Orientada à Objetos ... •Objetos são instância de uma classe •Objetos semelhantes pertencem a mesma classe

»

»

»−

»

−−

»

Edmilson Campos ([email protected]) 31

Page 32: Componente: Programação Orientada à Objetos€¦ · Programação Orientada à Objetos ... •Objetos são instância de uma classe •Objetos semelhantes pertencem a mesma classe

»

Edmilson Campos ([email protected]) 32

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

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

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

Page 35: Componente: Programação Orientada à Objetos€¦ · Programação Orientada à Objetos ... •Objetos são instância de uma classe •Objetos semelhantes pertencem a mesma classe

▪»

»

»

▪»

»

»

Edmilson Campos ([email protected]) 35

Page 36: Componente: Programação Orientada à Objetos€¦ · Programação Orientada à Objetos ... •Objetos são instância de uma classe •Objetos semelhantes pertencem a mesma classe

Edmilson Campos ([email protected]) 36