Entendendo as definições de classe

Slides:



Advertisements
Apresentações semelhantes
IFTO ESTRUTURA DE DADOS AULA 05 Prof. Manoel Campos da Silva Filho
Advertisements

Programação orientada a objetos
Programação em Java Prof. Maurício Braga
Programação em Java Prof. Maurício Braga
Introdução a Programação Orientada a Objetos
Construção de Algoritmos 2
Programação em Java Prof. Maurício Braga
Estruturas de Repetição
Métodos, Parâmetros, Argumentos e Contratos
Engenharia Informática Programação I & Estruturas de Dados e Algoritmos 2001/ Capitulo 3 – Introdução às classes Capitulo 3 Introdução às classes.
Introdução à Programação usando Processing Programação Gráfica 2D Estrutura de Seleção Exercícios de Revisão Estrutura de Seleção 14/10/09 Bruno C. de.
Introdução à Programação usando Processing Programação Gráfica 2D Animações Exercício Animações 14/10/09 Bruno C. de Paula 2º Semestre 2009 > PUCPR >
14/10/09 Uma animação possui: Início; Passo; Fim; 1.
LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INTRODUÇÃO AOS APLICATIVOS JAVA Prof. Thiago Pereira Rique
INTRODUÇÃO AOS APLICATIVOS JAVA
Prof. Thiago Pereira Rique
Entendendo as definições de classe
Interação entre objetos
Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 3.
Software Básico Silvio Fernandes Universidade Federal Rural do Semi-Árido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula.
Orientação a Objetos: Encapsulamento e Classificação
Orientação a Objetos: Encapsulamento e Classificação
Orientação a Objetos: Encapsulamento e Classificação
Programação Básica em Java
Listas Ligadas – Conceitos Avançados
Estruturas de Dados I Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Integração entre objetos
Aula 6 Subprogramas Universidade do Vale do Rio dos Sinos
Documentando con Javadoc
Capítulo 9 Herança 1.
Listas Encadeadas.
Classes e objetos Arrays e Sobrecarga
Classes e objetos Modelagem
Estrutura de decisão e repetição em JAVA
Herança P. O. O. Prof. Ângela e Grace.
Classes e objetos P. O. O. Prof. Grace.
Introdução a Programação JAVA
Paradigmas de Linguagens de Programação Paradima da Programação Orientada à Objetos Professor: Armando Hage Belém-2008.
Impressão de etiquetas
JAVA: Conceitos Iniciais
Unidade I: “Dê um mergulho rápido”
PROGRAMAÇÃO ESTRUTURADA II
JAVA Orientação a Objetos
Principais operações em Listas TPA Listas Simples Inserção no Final 1.void insereNofinalDaLista(Lista *l, Elemento e){ 2.Lista paux,p; 3. p.
Arquitetura de computadores
Semana 03 Comandos de desvio de fluxo. Expressões lógicas.
Tarefa 02 Visual Studio 2005 Visual C# Programa Hello World.
Classes, Objetos, Atributos e Métodos JAVA
1 2 Observa ilustração. Cria um texto. Observa ilustração.
Os métodos equals() e hashCode()
Capítulo 5 Garbage Collector.
Ceça Moraes – Introdução à Programação SI1
INTRODUÇÃO À ORIENTAÇÃO A OBJETOS EM JAVA
Programação Orientada a Objetos - Java Professor: Jean Carlo Mendes.
UML - Unified Modeling Language
Listas Simplesmente Encadeadas
Wagner Santos C. de Jesus
Planilha Eletrônica - Excel
Programação Orientada a Objetos - Java
Contagem Sequencial do Estoque
Contagem Sequencial do Estoque
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Aula Prática 4 Monitoria IP/CC (~if669).
Certificação Marco Antonio. Introdução A compreensão desse capítulo é muito importante pois trata de um assunto essencial em qualquer linguagem de programação,
Aula Prática 1 Monitoria IP/CC (~if669) (A partir do slide elaborado por Luís Gabriel)
Copyright 1998, Departamento de Informática da UFPE. Todos os direitos reservados sob a legislação em vigor. Variáveis e métodos estáticos, Passagem de.
Aula Prática 1 Monitoria IP/CC (~if669) (A partir do slide elaborado por Luís Gabriel)
Orientação a Objetos com PHP
INTERAÇÃO ENTRE OBJETOS Dilvan Moreira (baseado no livro Prog. Orientada a Objetos em Java)
Laboratório de Computação Aula 06 e 07 – Implementação de classes Prof. Fábio Dias
Transcrição da apresentação:

Entendendo as definições de classe Campos Construtores Métodos Parâmetros Atribuição Instruções condicionais Programação orientada a objetos com Java

Máquinas de vender bilhetes: um exame externo As estações de trem fornecem máquinas de vender bilhetes que imprimem um bilhete quando um cliente insere a quantia correta para pagar a passagem. Nesta semana definiremos uma classe que modela algo similar a essas máquinas de vender bilhetes. Programação orientada a objetos com Java

Máquinas de vender bilhetes: um exame externo Explorando o comportamento de uma máquina ingênua de vender bilhetes. Máquinas que fornecem bilhetes de preço fixo. Como esse preço é determinado? Como o ‘dinheiro’ é inserido na máquina? Como uma máquina monitora o dinheiro que é inserido? Programação orientada a objetos com Java

Máquinas de vender bilhetes: um exame interno Interagir com um objeto fornece dicas sobre seu comportamento. Examinar internamente permite determinar como esse comportamento é fornecido ou implementado. Todas as classes Java têm uma visualização interna semelhante. Programação orientada a objetos com Java

Estrutura de uma classe básica Envoltório externo da TicketMachine Modificador de visibilidade public class TicketMachine { // Parte interna da classe omitida. } Programação orientada a objetos com Java

Estrutura de uma classe básica public class NomeDaClasse { Campos Construtores Métodos } O conteúdo de uma classe A ordem não importa, é uma questão de preferência. Importante seguir um estilo Programação orientada a objetos com Java

Campos Campos armazenam valores para um objeto utilizar. Eles também são conhecidos como variáveis de instâncias. Campos definem o estado de um objeto. Programação orientada a objetos com Java

Campos public class TicketMachine { private int price; private int balance; private int total;   // Construtor e métodos omitidos. } Programação orientada a objetos com Java

Campos Modificador de visibilidade Nome da variável Tipo private int price; Programação orientada a objetos com Java

Comentários Os comentários são inseridos no código-fonte para fornecer explicações aos humanos Não têm nenhum efeito nas funcionalidades da classe // preço de um bilhete da máquina private int price; Programação orientada a objetos com Java

Comentários Comentários mais detalhados são escritos em múltiplas linhas Começam com um par de caracteres /* E terminam com o par */ /* esse comentário é um mais longo, devido .... */ Programação orientada a objetos com Java

Construtores Construtores inicializam um objeto. Eles têm o mesmo nome das suas classes. Eles armazenam valores iniciais nos campos. Eles freqüentemente recebem valores de parâmetros externos nesses campos. Programação orientada a objetos com Java

Construtores public TicketMachine(int ticketCost) { price = ticketCost; balance = 0; total = 0; } Programação orientada a objetos com Java

Construtores TicketMachine tickeMachine-1 = new TicketMachine(500); price 500 balance total Programação orientada a objetos com Java

Transmitindo dados via parâmetros Programação orientada a objetos com Java

Atribuição Valores são armazenados em campos (e outras variáveis) via instruções de atribuição: variável = expressão; - price = ticketCost; Uma variável armazena um único valor, portanto, qualquer valor anterior é perdido. Programação orientada a objetos com Java

Métodos de acesso (1) Métodos implementam o comportamento dos objetos. Métodos de acesso fornecem informações sobre um objeto. Métodos têm uma estrutura que consiste em um cabeçalho e um corpo. O cabeçalho define a assinatura do método. public int getPrice() O corpo engloba as instruções do método. Programação orientada a objetos com Java

Métodos de acesso (2) public int getPrice() { return price; } Modificador de visibilidade Tipo de retorno Nome do método Lista de parâmetros (vazia) public int getPrice() { return price; } Instrução de retorno Início e fim do corpo do método (bloco) Programação orientada a objetos com Java

Métodos modificadores (1) Eles têm uma estrutura de método semelhante: cabeçalho e corpo. Utilizados para modificar o estado de um objeto. Alcançados por meio da modificação do valor de um ou mais campos. Geralmente contêm instruções de atribuição. Geralmente recebem parâmetros. Programação orientada a objetos com Java

Métodos modificadores (2) Modificador de visibilidade Tipo de retorno (void) Nome do método Parâmetro public void setBalance(int amount) { balance += amount; } Instrução de atribuição Campo sendo alterado Programação orientada a objetos com Java

Operador += variavel = variavel + expressão; balance = balance + amount; balance += amount; Programação orientada a objetos com Java

Imprimindo a partir de métodos public void printTicket() { // Simula a impressão de um bilhete. System.out.println("##################"); System.out.println("# The BlueJ Line"); System.out.println("# Ticket"); System.out.println("# " + price + " cents."); System.out.println();   // Atualiza o total coletado com o saldo. total += balance; // Limpa o saldo. balance = 0; } Programação orientada a objetos com Java

Refletindo sobre o projeto da máquina de vender bilhetes Seus comportamentos não são adequados por várias razões: nenhuma verificação dos valores inseridos; nenhum reembolso; e nenhuma verificação quanto a uma inicialização sensata. Como podemos melhorar isso? Precisamos de um comportamento mais sofisticado. Programação orientada a objetos com Java

Fazendo escolhas (1) public void insertMoney(int amount) { if(amount > 0) { balance += amount; } else { System.out.println("Use uma quantidade positiva: " + amount); Programação orientada a objetos com Java

Fazendo escolhas (2) condição booleana a ser testada — fornece um resultado true (verdadeiro) ou false (falso) palavra-chave‘if’ ações se a condição for verdadeira if(realiza algum teste) { Segue as instruções aqui se o teste forneceu um resultado verdadeiro } else { Segue as instruções aqui se o teste forneceu um resultado falso ações se a condição for falsa palavra-chave ‘else’ Programação orientada a objetos com Java

Variáveis locais Campos são um tipo de variável. Eles: armazenam valores por toda a vida de um objeto; e são acessíveis por meio da classe. Métodos podem incluir variáveis de vida mais curta. Eles: existem apenas enquanto o método está em execução; e são acessíveis de dentro do método. Programação orientada a objetos com Java

Variáveis locais Uma variável local public int refundBalance() { int amountToRefund; amountToRefund = balance; balance = 0; return amountToRefund; } Nenhum modificador de visibilidade Programação orientada a objetos com Java

Revisão (1) O corpo das classes contém campos, construtores e métodos. Campos armazenam valores que determinam o estado de um objeto. Construtores inicializam objetos. Métodos implementam o comportamento dos objetos. Programação orientada a objetos com Java

Revisão (2) Campos, parâmetros e variáveis locais são variáveis. Campos persistem pelo tempo de vida de um objeto. Parâmetros são utilizados para receber valores em um construtor ou método. Variáveis locais são utilizadas para armazenamento temporário de curta duração. Programação orientada a objetos com Java

Revisão (3) Objetos podem tomar decisões via atribuições condicionais (if). Um teste de verdadeiro ou falso permite que uma entre duas ações alternativas seja tomada. Programação orientada a objetos com Java