Entendendo as definições de classe

Slides:



Advertisements
Apresentações semelhantes
Programação em Java Prof. Maurício Braga
Advertisements

Entendendo as definições de classe
ADT – Arvore Binária de Pesquisa
Java: Comandos Básicos
Listas Encadeadas Circulares Listas Duplamente Encadeadas
Listas Encadeadas Circulares Listas Duplamente Encadeadas
2008 LCG/UFRJ. All rights reserved. 1 Standard Template Library STL Claudio Esperança Paulo Roma Cavalcanti.
1 Estruturas de Controle Márcia J. N. Rodrigues Lucena Especialização em Técnicas e Ferramentas de Apoio à Decisão Departamento.
Ronaldo Celso Messias Correia
Capítulo 10 Arrays. 2Capítulo 10 – Arrays Arrays Introdução Tipo do array Tamanho do array Preenchendo o array Varrendo um array Array com 2 dimensões.
Grupo Paralelismo – Unesp RC
FORTRAN 90 Denise Yumi Takamura.
SQL Procedural Junho/2006.
Estruturas de Dados para projeto de SGBD. Estruturas de dados analisadas Estruturas de nível Esparso Denso Combinadas Arvore B+ Tabela de hash.
Subconsultas em SQL. Subconsulta Estrutura geral SELECT.... FROM.... WHERE [at] OPERADOR ( SELECT... FROM... [WHERE... ]) Declaração SELECT localizada.
Estrutura de repetição 18/set. Uso Foi construído o problema de ler notas de um aluno e fazer média. E para 5 alunos ????
Reconstrução filogenética: Inferência Bayesiana
Arquiteturas de 4, 3, 2, 1 e 0 endereços.
Teste Estrutural de Software
Slide 1 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - junho 2005 Serviço Collector Treinamento no GRADEp Serviço Collector CollectorDemo e.
Classes Internas e Anônimas
Mais sobre classes Baseada no Livro: Deitel&Deitel - C++ How To program Cap. 7 Prentice Hall 1994 SCE 213 Programação Orientada a Objetos, ICMC - USP 2.
Introdução A fim de preparar a geração de código, deve-se relacionar o fonte estático do programa às ações em tempo de execução. Durante a execução, o.
Geração de Código Otimizações independentes de máquina.
Geração de Código Cap. 8. Introdução Fase final para um compilador Entrada é uma representação intermediária do código fonte e a saída é um programa para.
Design Patterns – Composite e Visitor
UNIVERSIDADE DE PASSO FUNDO
Funções de um computador
CES-11 LAB 03 Bitmap Quadtree
Capítulo VII – Tipos Enumerativos e Estruturas 7.1 – Tipos enumerativos 7.2 – A necessidade de estruturas 7.3 – Manipulação dos campos de uma estrutura.
1.3 – Interpretadores – Compiladores versus Interpretadores
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo XI Encadeamento de Estruturas por Ponteiros.
Exemplo: ordenação de uma lista pelo Selection-Sort:
1 Definição de Dicionário Dicionário é um sistema de informações: Equivalente a um conjunto de elementos não repetidos Equivalente a um conjunto de elementos.
Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.
TA 733 A – Operações Unitárias II
Curso Técnico em Informática La Salle - Canoas
FUNDAÇÃO CARLOS CHAGAS
Business Process Management e Workflow - jBPM Aluno: Filipe Ferraz Salgado Orientador: Francisco Reverbel Novembro 2006.
TÉCNICAS DE CODIFICAÇÃO DE SINAIS
Organização de Sistemas de Computadores
Desempenho A rápida taxa de melhoria na tecnologia de computadores veio em decorrência de dois fatores: avanços na tecnologia utilizada na construção.
UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.
Laboratório de Programação Prof. Oscar Luiz Monteiro de Farias
Listas Encadeadas.
Capítulo 1 Introdução 1.1 O que é um sistema operacional
Tecnologia para Web JavaScript Enrique Pimentel Leite de Oliveira
Recursividade Estrutura de Dados.
Comportamento mais sofisticado
The Data Warehouse Toolkit
Curso de Programação em C++
Baseado no documento do Prof. Ronaldo Martins da Costa
LINGUAGENS DE PROGRAMAÇÃO
04:27 Introdução Tipos de Fluxo de Dados e de Arquivos Manipulação de Arquivos em Java Classes FileReader e FileWriter Classes FileInputStream e FileOutputStream.
Sistemas de Informação Prof. Me. Everton C. Tetila Modelo de dados relacional Banco de Dados I.
Programação Concorrente com Thread Java
Stored Procedure, Function and Trigger
Introdução Ciência da Computação estudo de algoritmos –ÊNFASE ao estudo de DADOS armazenamento manipulação refinamento (a partir de dados cru) estrutura.
Threads, Gerenciamento de Threads Pool de Threads, Grupo de Threads Variáveis Locais à Threads.
Sincronização com Locks. Locks É um mecanismo de sincronização de processos/threads em que estas devem ser programadas de modo que seus efeitos sobre.
Melhorias e Mensagens Amigáveis ao Usuário Centro de Informática Universidade Federal de Pernambuco Bruno Felipe Marco André Paulo Fernando Rodolfo Santos.
WEKA. Roteiro Introdução Conceitos Exemplos práticos Chamada ao aplicativo.
Salas de Matemática.
Entendendo as definições de classe
Análise Sintática – Parte 1
Mapeamento de CSP para JCSP Patrícia Muniz (pmf) Rafael Duarte (rmd)
1 2 Observa ilustração. Cria um texto. Observa ilustração.
Java Generics Adeline de Sousa Silva.
ArrayList e Genéricos Profs. PROG2 - UNISINOS.
Nome alunos 1 Título UC. Título – slide 2 Conteúdo Conteúdo 2.
Transcrição da apresentação:

Entendendo as definições de classe Examinando as classes por dentro 1.0 Programação orientada a objetos com Java

Principais conceitos a serem abordados Campos Construtores Métodos Parâmetros Atribuição Instruções condicionais © 2004 by Pearson Education 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. Utilize o projeto “naive-ticket-machine”. 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? © 2004 by Pearson Education 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. © 2004 by Pearson Education Programação orientada a objetos com Java

Estrutura de uma classe básica O empacotador externo da TicketMachine public class TicketMachine { Parte interna da classe omitida. } public class NomeDaClasse { Campos Construtores Métodos } O conteúdo de uma classe © 2004 by Pearson Education Programação orientada a objetos com Java

Campos Campos armazenam valores para um objeto. Eles também são conhecidos como variáveis de instâncias. Utilize a opção Inspect para visualizar os campos de um objeto. Campos definem o estado de um objeto. Public class TicketMachine { private int price; private int balance; private int total;   Construtor e métodos omitidos. } Modificador de visibilidade Nome da variável Tipo private int price; © 2004 by Pearson Education 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. public TicketMachine(int ticketCost) { price = ticketCost; balance = 0; total = 0; } © 2004 by Pearson Education Programação orientada a objetos com Java

Transmitindo dados via parâmetros © 2004 by Pearson Education 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. © 2004 by Pearson Education 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. © 2004 by Pearson Education 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) © 2004 by Pearson Education 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. © 2004 by Pearson Education 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 insertMoney(int amount) { balance += amount; } Instrução de atribuição Campo sendo alterado © 2004 by Pearson Education 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; } © 2004 by Pearson Education 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. © 2004 by Pearson Education 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 a positive amount: " + amount); © 2004 by Pearson Education 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’ © 2004 by Pearson Education 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. © 2004 by Pearson Education 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 © 2004 by Pearson Education 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. © 2004 by Pearson Education 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. © 2004 by Pearson Education 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. © 2004 by Pearson Education Programação orientada a objetos com Java