Programação Orientada a Objetos JAVA - ufjf.br · PDF file•Linguagem de...

Post on 01-Feb-2018

234 views 2 download

Transcript of Programação Orientada a Objetos JAVA - ufjf.br · PDF file•Linguagem de...

PROGRAMAÇÃO ORIENTADA A OBJETOSJAVAPÁTIO DE MATERIAIS

Discente: Nielson Soares

Disciplina: Algoritmo e Estrutura de Dados

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

ORIENTAÇÃO A OBJETOS

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

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

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

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

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

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

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

CLASSES E OBJETOS

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

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.

IDENTIFICANDO OBJETOS CONTEXTO: PÁTIO DE MATERIAIS

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

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.

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.

LINGUAGEM DE PROGRAMAÇÃO JAVA

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

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

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

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

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

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.

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){}

PROGRAMAÇÃO ORIENTADA A OBJETOS EM JAVA

PÁTIO DE MATERIAIS

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

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

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

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.

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.

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

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;

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;

}

...

}

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

}

...

}

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();

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

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

OBRIGADO!!