Programação Orientada a Objetos JAVA

Propaganda
PROGRAMAÇÃO ORIENTADA A
OBJETOS
JAVA
PÁ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.
PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA
03/04/2016
2
ORIENTAÇÃO A OBJETOS
PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA
03/04/2016
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.
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;
PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA
03/04/2016
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.
PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA
03/04/2016
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.
PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA
03/04/2016
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.
PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA
03/04/2016
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.
PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA
03/04/2016
9
CLASSES E OBJETOS
PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA
03/04/2016
10
PROGRAMAÇÃO ORIENTADA A OBJETOS
• 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.
PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA
03/04/2016
11
IDENTIFICANDO OBJETOS
CONTEXTO: PÁTIO DE MATERIAIS
PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA
03/04/2016
12
IDENTIFICANDO OBJETOS
CONTEXTO: PÁTIO DE MATERIAIS
TELHA
CARACTERÍSTICAS
Descrição
Quantidade
Unidade
Etc.
COMPORTAMENTO
Alterar quantidade
Alterar descrição
Etc.
AREIA
CARACTERÍSTICAS
Descrição
Quantidade
Unidade
Etc.
Descrição
Quantidade
Unidade
Etc.
PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA
COMPORTAMENTO
Alterar quantidade
Alterar descrição
Etc.
Alterar quantidade
Alterar descrição
Etc.
PÁTIO
TIJOLO
CARACTERÍSTICAS
COMPORTAMENTO
CARACTERÍSTICAS
Tamanho
Etc.
COMPORTAMENTO
Recebe Material
Retira Material
Etc.
03/04/2016
13
IDENTIFICANDO OBJETOS
CONTEXTO: PÁTIO DE MATERIAIS
• 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.
PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA
03/04/2016
14
LINGUAGEM DE PROGRAMAÇÃO JAVA
PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA
03/04/2016
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;
PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA
04/04/2016
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.
PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA
03/04/2016
17
DECLARANDO E USANDO VARIÁVEIS
• tipoDaVariavel nomeDaVariavel;
• int i;
•
i = 10;
• float f;
•
f = 10.0;
• boolean b
•
b = false;
PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA
03/04/2016
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
PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA
03/04/2016
19
IF E ELSE
• 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.
PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA
03/04/2016
20
WHILE E FOR
• É 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 - JAVA
03/04/2016
21
PROGRAMAÇÃO ORIENTADA A OBJETOS EM JAVA
PÁTIO DE MATERIAIS
PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA
03/04/2016
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.
PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA
04/04/2016
23
PROGRAMAÇÃO ORIENTADA A OBJETOS
JAVA - PÁTIO DE MATERIAIS
• 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 OBJETOS - JAVA
03/04/2016
24
PROGRAMAÇÃO ORIENTADA A OBJETOS
JAVA - PÁTIO DE MATERIAIS
•
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 OBJETOS - JAVA
03/04/2016
25
PROGRAMAÇÃO ORIENTADA A OBJETOS
JAVA - PÁTIO DE MATERIAIS
•
Publico – public
•
•
Privativo – private
•
•
O atributo ou método de um objeto dessa classe pode ser acessado por qualquer outro
objeto.
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 OBJETOS - JAVA
04/04/2016
26
PROGRAMAÇÃO ORIENTADA A OBJETOS
JAVA - PÁTIO DE MATERIAIS
• Exemplos:
Material
- nome : String
- quantidade : float
+ getNome() : String
+ getQuantidade() : float
+ setNome(nome) : void
+ setQuantidade(quantidade) : void
PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA
Patio
+ alterarQuantidade(novaQuantidade, linha, coluna) : void
+ getMaterial(linha, coluna) : Material
+ mostraTodosMateriais() : void
+ putMaterial(material, linha, coluna) : void
+ quantidadePorMaterial(material) : void
03/04/2016
27
PROGRAMAÇÃO ORIENTADA A OBJETOS
JAVA - PÁTIO DE MATERIAIS
•
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 OBJETOS - JAVA
03/04/2016
28
PROGRAMAÇÃO ORIENTADA A OBJETOS
JAVA - PÁTIO DE MATERIAIS
• 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 OBJETOS - JAVA
03/04/2016
29
PROGRAMAÇÃO ORIENTADA A OBJETOS
JAVA - PÁTIO DE MATERIAIS
• 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 OBJETOS - JAVA
03/04/2016
30
PROGRAMAÇÃO ORIENTADA A OBJETOS
JAVA - PÁTIO DE MATERIAIS
• Para criar um objeto é necessário:
• Declarar
•
Objeto objeto;
• Instanciar a classe (criar o objeto efetivamente)
•
objeto = new Objeto();
PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA
03/04/2016
31
PROGRAMAÇÃO ORIENTADA A OBJETOS
JAVA - PÁTIO DE MATERIAIS
• Exemplo:
Patio patio = new Patio();
Material material1 = new Material("Telha", 10);
Material material2 = new Material("tijolo", 6);
Material material3 = new Material("areia", 2);
PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA
03/04/2016
32
OBRIGADO!!
PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVA
03/04/2016
33
Download