33
PROGRAMAÇÃO ORIENTADA A OBJETOS JAVA PÁTIO DE MATERIAIS Discente: Nielson Soares Disciplina: Algoritmo e Estrutura de Dados

Programação Orientada a Objetos JAVA - ufjf.br · PDF file•Linguagem de programação JAVA. ... •Definição de objeto. PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 03/04/2016 4

Embed Size (px)

Citation preview

Page 1: Programação Orientada a Objetos JAVA - ufjf.br · PDF file•Linguagem de programação JAVA. ... •Definição de objeto. PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 03/04/2016 4

PROGRAMAÇÃO ORIENTADA A OBJETOSJAVAPÁTIO DE MATERIAIS

Discente: Nielson Soares

Disciplina: Algoritmo e Estrutura de Dados

Page 2: Programação Orientada a Objetos JAVA - ufjf.br · PDF file•Linguagem de programação JAVA. ... •Definição de objeto. PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 03/04/2016 4

INTRODUÇÃO

• Orientação a objetos.

• Linguagem de programação JAVA.

• Pátio de matérias utilizando técnicas de POO e JAVA.

03/04/2016PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 2

Page 3: Programação Orientada a Objetos JAVA - ufjf.br · PDF file•Linguagem de programação JAVA. ... •Definição de objeto. PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 03/04/2016 4

ORIENTAÇÃO A OBJETOS

03/04/2016PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 3

Page 4: Programação Orientada a Objetos JAVA - ufjf.br · PDF file•Linguagem de programação JAVA. ... •Definição de objeto. PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 03/04/2016 4

ORIENTAÇÃO A OBJETOS

• Como percebemos o mundo a nossa volta.

• Como reconhecemos um objeto.

• Classes e objetos.

• Definição de classe.

• Definição de objeto.

03/04/2016PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 4

Page 5: Programação Orientada a Objetos JAVA - ufjf.br · PDF file•Linguagem de programação JAVA. ... •Definição de objeto. PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 03/04/2016 4

O MUNDO A NOSSA VOLTA

• Percebemos o mundo através dos cinco sentidos:

• Visão;

• Audição;

• Paladar;

• Olfato;

• Tato;

03/04/2016PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 5

Page 6: Programação Orientada a Objetos JAVA - ufjf.br · PDF file•Linguagem de programação JAVA. ... •Definição de objeto. PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 03/04/2016 4

RECONHECENDO UM OBJETO

• Padrões que somo capazes de perceber.

• Identificar um objeto é saber o nome dele e pra que ele serve.

• Possui características, apresenta um comportamento e tem um determinado

estado em algum momento.

03/04/2016PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 6

Page 7: Programação Orientada a Objetos JAVA - ufjf.br · PDF file•Linguagem de programação JAVA. ... •Definição de objeto. PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 03/04/2016 4

RECONHECENDO UM OBJETO

• Características:

• Dizem o que ele é.

• Comportamento:

• Detalha o que ele faz.

• Estado:

• Como o objeto se encontra em um determinado momento.

03/04/2016PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 7

Page 8: Programação Orientada a Objetos JAVA - ufjf.br · PDF file•Linguagem de programação JAVA. ... •Definição de objeto. PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 03/04/2016 4

CLASSES E OBJETOS

• Na POO há dois conceitos bem distintos: classe e objeto.

• O ser humano classifica objetos parecidos.

• Mesmas características e comportamentos são classificados com um nome

genérico.

• Dois objetos distintos, mesma classificação.

03/04/2016PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 8

Page 9: Programação Orientada a Objetos JAVA - ufjf.br · PDF file•Linguagem de programação JAVA. ... •Definição de objeto. PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 03/04/2016 4

CLASSES E OBJETOS

• Classe: a ideia do que seria um objeto, a descrição de uma pré-classificação

já existente.

• Objeto: é o real, o que existe, que segue as ideias definidas acerca daquele

objeto.

03/04/2016PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 9

Page 10: Programação Orientada a Objetos JAVA - ufjf.br · PDF file•Linguagem de programação JAVA. ... •Definição de objeto. PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 03/04/2016 4

CLASSES E OBJETOS

03/04/2016PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 10

Page 11: Programação Orientada a Objetos JAVA - ufjf.br · PDF file•Linguagem de programação JAVA. ... •Definição de objeto. PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 03/04/2016 4

PROGRAMAÇÃO ORIENTADA A OBJETOS

03/04/2016PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 11

• O objeto é a base da programação orientada a objetos.

• Definição de classes:

• Definir quais são as características e os comportamentos relativos àquele objeto.

• Objetos com as mesmas características e comportamentos podem ser considerados de

uma mesma classe.

Page 12: Programação Orientada a Objetos JAVA - ufjf.br · PDF file•Linguagem de programação JAVA. ... •Definição de objeto. PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 03/04/2016 4

IDENTIFICANDO OBJETOS CONTEXTO: PÁTIO DE MATERIAIS

03/04/2016PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 12

Page 13: Programação Orientada a Objetos JAVA - ufjf.br · PDF file•Linguagem de programação JAVA. ... •Definição de objeto. PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 03/04/2016 4

IDENTIFICANDO OBJETOS CONTEXTO: PÁTIO DE MATERIAIS

03/04/2016PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 13

TELHA

CARACTERÍSTICAS COMPORTAMENTO

Descrição

Quantidade

Unidade

Etc.

Alterar quantidade

Alterar descrição

Etc.

PÁTIO

CARACTERÍSTICAS COMPORTAMENTO

Tamanho

Etc.

Recebe Material

Retira Material

Etc.

AREIA

CARACTERÍSTICAS COMPORTAMENTO

Descrição

Quantidade

Unidade

Etc.

Alterar quantidade

Alterar descrição

Etc.

TIJOLO

CARACTERÍSTICAS COMPORTAMENTO

Descrição

Quantidade

Unidade

Etc.

Alterar quantidade

Alterar descrição

Etc.

Page 14: Programação Orientada a Objetos JAVA - ufjf.br · PDF file•Linguagem de programação JAVA. ... •Definição de objeto. PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 03/04/2016 4

IDENTIFICANDO OBJETOS CONTEXTO: PÁTIO DE MATERIAIS

03/04/2016PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 14

• Alguns objetos são semelhantes, podendo classificá-los com um mesmo nome.

• Material

• O outro objeto recebe um nome diferente, pois possui características e

comportamentos diferentes dos demais.

• Pátio

• POO:

• Primeiro classificamos o objeto para depois criá-los e manipulá-los.

Page 15: Programação Orientada a Objetos JAVA - ufjf.br · PDF file•Linguagem de programação JAVA. ... •Definição de objeto. PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 03/04/2016 4

LINGUAGEM DE PROGRAMAÇÃO JAVA

03/04/2016PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 15

Page 16: Programação Orientada a Objetos JAVA - ufjf.br · PDF file•Linguagem de programação JAVA. ... •Definição de objeto. PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 03/04/2016 4

LINGUAGEM DE PROGRAMAÇÃO JAVA

• O foco da plataforma são aplicações de médio e grande porte, onde o time de

desenvolvedores tem várias pessoas.

• Primeira versão de uma aplicação pode ser mais trabalhoso que muitas linguagens, porém

será extremamente mais fácil e rápido fazer alterações.

• É uma maneira de programar que ajuda na organização e resolve muitos problemas

enfrentados pela programação estrutural.

• Exemplo:

• Validação de CPF;

• Validar idade;

04/04/2016PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 16

Page 17: Programação Orientada a Objetos JAVA - ufjf.br · PDF file•Linguagem de programação JAVA. ... •Definição de objeto. PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 03/04/2016 4

LINGUAGEM DE PROGRAMAÇÃO JAVA

• Variáveis primitivas e controle de fluxo

• Declaração, atribuição de valores, etc.

• Controle de fluxo com if, else, etc.

• Instruções de laço for, while, etc.

03/04/2016PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 17

Page 18: Programação Orientada a Objetos JAVA - ufjf.br · PDF file•Linguagem de programação JAVA. ... •Definição de objeto. PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 03/04/2016 4

DECLARANDO E USANDO VARIÁVEIS

• tipoDaVariavel nomeDaVariavel;

• int i;

• i = 10;

• float f;

• f = 10.0;

• boolean b

• b = false;

03/04/2016PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 18

Page 19: Programação Orientada a Objetos JAVA - ufjf.br · PDF file•Linguagem de programação JAVA. ... •Definição de objeto. PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 03/04/2016 4

DECLARANDO E USANDO VARIÁVEIS

TIPO TAMANHO

boolean 1 bit

byte 1 byte

short 2 bytes

char 2 bytes

int 4 bytes

float 4 bytes

long 8 bytes

double 8 bytes

03/04/2016PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 19

Page 20: Programação Orientada a Objetos JAVA - ufjf.br · PDF file•Linguagem de programação JAVA. ... •Definição de objeto. PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 03/04/2016 4

IF E ELSE

03/04/2016PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 20

• if(condiçãoBooleana){}

• Uma condição booleana é qualquer expressão que retorne true ou false.

• O else é usado para indicar o comportamento que deve ser executado no caso da

expressão booleana ser falsa.

Page 21: Programação Orientada a Objetos JAVA - ufjf.br · PDF file•Linguagem de programação JAVA. ... •Definição de objeto. PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 03/04/2016 4

WHILE E FOR

03/04/2016PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 21

• É um comando usado para fazer um laço, ou seja, repetir um trecho do

código vária vezes.

• while(condicao){} executa enquanto a condição dor verdadeira (true).

• Mesma funcionalidade do while, mas além disso, o for isola também um

espaço para inicialização de variáveis e o modificador das mesmas.

• for(inicialização ; condição ; incremento){}

Page 22: Programação Orientada a Objetos JAVA - ufjf.br · PDF file•Linguagem de programação JAVA. ... •Definição de objeto. PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 03/04/2016 4

PROGRAMAÇÃO ORIENTADA A OBJETOS EM JAVA

PÁTIO DE MATERIAIS

03/04/2016PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 22

Page 23: Programação Orientada a Objetos JAVA - ufjf.br · PDF file•Linguagem de programação JAVA. ... •Definição de objeto. PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 03/04/2016 4

PROGRAMAÇÃO ORIENTADA A OBJETOS EM JAVA

• Relembrando...

• Classe:

• É um projeto, a ideia, para a definição de objetos.

• Objeto:

• O que existe. Um elemento que representa alguma entidade.

• Instâncias de classes.

04/04/2016PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 23

Page 24: Programação Orientada a Objetos JAVA - ufjf.br · PDF file•Linguagem de programação JAVA. ... •Definição de objeto. PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 03/04/2016 4

PROGRAMAÇÃO ORIENTADA A OBJETOSJAVA - PÁTIO DE MATERIAIS

03/04/2016PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 24

• Definir as classes.

• Em geral, esse resultado é expresso em termos de alguma linguagem de modelagem.

• UML (Unified Modeling Language)

• Na UML a representação para uma classe é tipicamente expressa na forma

gráfica: NomeDaClasse

visibilidade nomeAtributo : tipo = valor default

visibilidade nomeAtributo : tipo = valor default

visibilidade nomeMetodo(listaArguementos) : tipoRetorno

visibilidade nomeMetodo(listaArguementos) : tipoRetorno

Page 25: Programação Orientada a Objetos JAVA - ufjf.br · PDF file•Linguagem de programação JAVA. ... •Definição de objeto. PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 03/04/2016 4

PROGRAMAÇÃO ORIENTADA A OBJETOSJAVA - PÁTIO DE MATERIAIS

03/04/2016PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 25

• Nome da classe é um identificador para a classe, que permite referenciá-la

posteriormente.

• Atributos descreve as propriedades da classe.

• Cada atributo possui um nome e tem um tipo associado.

• Os métodos definem as funcionalidades da classe, o comportamento, o que será

possível fazer com os objetos dessa classe.

• Modificador de visibilidade:

• Publico, privado e protegido.

Page 26: Programação Orientada a Objetos JAVA - ufjf.br · PDF file•Linguagem de programação JAVA. ... •Definição de objeto. PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 03/04/2016 4

PROGRAMAÇÃO ORIENTADA A OBJETOSJAVA - PÁTIO DE MATERIAIS

04/04/2016PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 26

• Publico – public

• O atributo ou método de um objeto dessa classe pode ser acessado por qualquer outro

objeto.

• Privativo – private

• O atributo ou método de um objeto dessa classe não pode ser acessado por nenhum outro

objeto.

• Protegido – protected

• O atributo ou método de um objeto dessa classe poderá ser acessado apenas por objetos de

classes que sejam derivadas da mesma.

Page 27: Programação Orientada a Objetos JAVA - ufjf.br · PDF file•Linguagem de programação JAVA. ... •Definição de objeto. PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 03/04/2016 4

PROGRAMAÇÃO ORIENTADA A OBJETOSJAVA - PÁTIO DE MATERIAIS

03/04/2016PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 27

• Exemplos:

Material

- nome : String

- quantidade : float

+ getNome() : String

+ getQuantidade() : float

+ setNome(nome) : void

+ setQuantidade(quantidade) : void

Patio

+ alterarQuantidade(novaQuantidade, linha, coluna) : void

+ getMaterial(linha, coluna) : Material

+ mostraTodosMateriais() : void

+ putMaterial(material, linha, coluna) : void

+ quantidadePorMaterial(material) : void

Page 28: Programação Orientada a Objetos JAVA - ufjf.br · PDF file•Linguagem de programação JAVA. ... •Definição de objeto. PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 03/04/2016 4

PROGRAMAÇÃO ORIENTADA A OBJETOSJAVA - PÁTIO DE MATERIAIS

03/04/2016PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 28

• Definindo classes:

• public class Material{

}

• A definição da classe propriamente dita está entre as chaves { e }. Este corpo da

classe usualmente obedece à seguinte sequência de definição:

• Variáveis de classe;

• Atributos;

• Construtores;

• Métodos;

Page 29: Programação Orientada a Objetos JAVA - ufjf.br · PDF file•Linguagem de programação JAVA. ... •Definição de objeto. PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 03/04/2016 4

PROGRAMAÇÃO ORIENTADA A OBJETOSJAVA - PÁTIO DE MATERIAIS

03/04/2016PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 29

• Exemplos:

• Definição da classe Material.

public class Material{

private String nome;

private int quantidade;

public Material(String nome, int quantidade){

this.nome = nome;

this.quantidade = quantidade;

}

...

}

Page 30: Programação Orientada a Objetos JAVA - ufjf.br · PDF file•Linguagem de programação JAVA. ... •Definição de objeto. PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 03/04/2016 4

PROGRAMAÇÃO ORIENTADA A OBJETOSJAVA - PÁTIO DE MATERIAIS

03/04/2016PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 30

• Exemplos:

• Definição da classe Patio.

public class Patio{

private Material patioMateriais[][];

public Patio(){

patioMateriais = new Material[4][4];

for(int i = 0; i < 4; i++)

for(int j = 0; j < 4; j++)

patioMateriais[i][j] = new Material("Nenhum material",0);

}

...

}

Page 31: Programação Orientada a Objetos JAVA - ufjf.br · PDF file•Linguagem de programação JAVA. ... •Definição de objeto. PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 03/04/2016 4

PROGRAMAÇÃO ORIENTADA A OBJETOSJAVA - PÁTIO DE MATERIAIS

03/04/2016PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 31

• Para criar um objeto é necessário:

• Declarar

• Objeto objeto;

• Instanciar a classe (criar o objeto efetivamente)

• objeto = new Objeto();

Page 32: Programação Orientada a Objetos JAVA - ufjf.br · PDF file•Linguagem de programação JAVA. ... •Definição de objeto. PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 03/04/2016 4

PROGRAMAÇÃO ORIENTADA A OBJETOSJAVA - PÁTIO DE MATERIAIS

03/04/2016PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 32

• Exemplo:

Patio patio = new Patio();

Material material1 = new Material("Telha", 10);

Material material2 = new Material("tijolo", 6);

Material material3 = new Material("areia", 2);

Page 33: Programação Orientada a Objetos JAVA - ufjf.br · PDF file•Linguagem de programação JAVA. ... •Definição de objeto. PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 03/04/2016 4

03/04/2016PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA 33

OBRIGADO!!