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