CONSTRUINDO CLASSES Dilvan Moreira (baseado no livro Big Java)

Slides:



Advertisements
Apresentações semelhantes
Soluções Iterativas com Laços
Advertisements

Engenharia Informática Programação I & Estruturas de Dados e Algoritmos 2001/ Capitulo 3 – Introdução às classes Capitulo 3 Introdução às classes.
Programação orientada a objetos
Herança, sobrecarga e ligação dinâmica zHerança zReferência super zSobrecarga de métodos zSobreposição zLigação dinâmica de métodos zfinal.
Polimorfismo e Acoplamento Dinâmico
Wagner Santos C. de Jesus
Membros estáticos.
Capítulo 13 Pacotes. 2 Capítulo 13 – Pacotes Pacotes Pacote Cláusula package Cláusula import Executando uma classe de pacote Modificadores de acesso.
Introdução a Programação JAVA
Estrutura de Dados em Java
Paradigmas de Linguagens de Programação Paradima da Programação Orientada à Objetos Professor: Armando Hage Belém-2008.
Linguagem de Programação JAVA
Programação Orientada a Objetos com Java
Programação I Aula 2 (Métodos)
Linguagem técnica de programação I Java
JUnit “Keep the bar green to keep the code clean” JUnit Site.
POO - I Prof.: Jean Carlo Mendes
Aulas 2 e 3 – Java – Prof. Marcelo Heitor # O método main e argumentos na linha de comando; # Fluxo padrão de entrada e saída; # A classe JOptionPane;
Profa. Patrícia A. Jaques
Programação Orientada a Objetos - Java
Programação Orientada a Objetos - Java Professor: Jean Carlo Mendes.
Curso de Aprendizado Industrial Desenvolvedor WEB
Java Kickstart, day 2 Semelhanças com linguagem C.
Aula Prática 4 Monitoria IP/CC (~if669).
Prof.: Bruno Rafael de Oliveira Rodrigues. Construtor é bloco declarado que é chamado no momento em que o Objeto é criado (instanciado). Todas as classes.
Implementação Orientada a Objetos – Aula 05 Construtores e sobrecarga de métodos Prof. Danielle Martin Universidade de Mogi das Cruzes
Polimorfismo.
Classes Abstratas e Interface
M ÉTODOS DA C LASSE S TRING. FUNÇÕES COM STRING Uma string é um tipo texto que corresponde à união de um conjunto de caracteres. Em Java, as strings são.
STRINGS Dilvan Moreira (baseado no livro Big Java e Z. Liang)
Implementação Orientada a Objetos – Aula 06 Conversão de tipos e métodos estáticos Prof. Danielle Martin Universidade de Mogi das Cruzes
Herança e Arquitetura em camadas
Aula Prática 5 05/05/2010. //Estrutura do método public int subtrair (int a, int b){ //Calcule a operação desejada. int resultado = a – b; //Retorne o.
Programação Orientada a Objetos - Java Professor: Jean Carlo Mendes.
Conceitos Básicos e Manipulação de Objetos
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.
Copyright 2000, Departamento de Informática, UFPE. Todos os direitos reservados sob a legislação em vigor. Orientação a Objetos e Java.
Capítulo 1 A Classe Scanner Pág. 31 a 34.
Programação Orientada a Objetos
Programação II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
© Copyright 2008 Algoritmos e Estruturas de Dados 1 IF672 - Algoritmos e Estruturas de Dados CIn - UFPE Adriana Libório Fernandes Lins Arthur Cavalcanti.
Operador Condicional (? :). Operador Condicional Operador ternário que pode ser utilizado no lugar de uma instrução if...else.
Associação. 2 Desafio – Aula class Aluno { 2. private String nome; 3. private float nota; 4. public Aluno(String nome, float nota){ 5. this.nome.
Aula Prática 1 Monitoria IP/CC (~if669) (A partir do slide elaborado por Luís Gabriel)
Implementação Orientada a Objetos – Aula 09 Pacotes Prof. Danielle Martin Universidade de Mogi das Cruzes
Implementação Orientada a Objetos – Aula 03 Atributos e Encapsulamento Prof. Danielle Martin/ Marcia Bissaco Universidade de Mogi das Cruzes
Implementação Orientada a Objetos – Aula 04 Métodos, parâmetros e retorno Prof. Danielle Martin/Marcia Bissaco Universidade de Mogi das Cruzes
Linguagem Java Programação II.
1. 2 Programação Orientada a Objetos Prof. Maurício Rodrigues de Morais
Java Básico Lab Ruddá Beltrão | Cristian Costa.
Laboratório de Computação Aula 03 Prof. Fábio Dias
Noções de projeto orientado a objetos - camadas Prof. Gustavo Wagner (alterações) Prof. Tiago Massoni (Slides originais) Desenvolvimento de Sistemas FATEC-PB.
Programação para Internet Aula 06 Linguagem Java (Orientação a Objetos – Atributos e Métodos)
PROJETANDO CLASSES Dilvan Moreira (baseado no livro Big Java.
Classes Abstratas e Interface. 2 Classe Abstrata  Uma classe abstrata serve apenas como modelo para uma classe concreta (classe que comumente usamos);
1 Interface (o termo) » Interface (a palavra reservada): Java estendeu o conceito de interfaces à um nível ainda mais flexível que permite construir entidades.
Polimorfismo com Interfaces Pacotes em Java Prof. Gustavo Wagner (Alterações) Prof. Tiago Massoni (Slides Originais) Desenvolvimento de Sistemas FATEC-PB.
Laboratório de Computação Aula 05 – Array Prof. Fábio Dias
Introdução ao Eclipse 3.2 Prof. Gustavo Wagner (modificações) Slides originais: Prof. Tiago Massoni Java Básico  Centro de Informática, UFPE.
Laboratório de Computação Aula 06 e 07 – Implementação de classes Prof. Fábio Dias
MÉTODOS Dilvan Moreira (baseado no livro Big Java)
Ambientação com a Sintaxe de Java: parte 2 Prof. Gustavo Wagner Slides Originais: Prof. Tiago Massoni Desenvolvimento de Sistemas FATEC-PB  Centro de.
Laboratório de Computação Aula 06 e 07 – Implementação de classes Prof. Fábio Dias
PROGRAMAÇÃO ORIENTADA A OBJETOS EM C++ PAE: Pedro Shiguihara Professor: Dilvan Moreira.
PROGRAMANDO SEM POO EM JAVA Dilvan Moreira (baseado no livro Big Java)
VARIÁVEIS EM JAVA Dilvan Moreira (baseado no livro Big Java)
CLASSES EM JAVA Dilvan Moreira (baseado no livro Big Java)
Aula 5 - Métodos. Desenvolvimento de Programas A melhor forma de construir programas grandes é dividi-los em programas menores que executam tarefas específicas.
PROGRAMANDO EM TypeScript
Dilvan Moreira (baseado no livro Big Java)
Transcrição da apresentação:

CONSTRUINDO CLASSES Dilvan Moreira (baseado no livro Big Java)

Leitura  Capítulo 2 (1st Edition)

Lembrando: Conta Bancária - Variáveis /** Um conta bancária tem um saldo que pode ser mudado por depósitos e retiradas. */ public class BankAccount{ }

Lembrando: Conta Bancária - Variáveis public class BankAccount{ double balance; }

Lembrando: Conta Bancária - Construtores public class BankAccount{ double balance; public BankAccount() { balance = 0; }

Lembrando: Conta Bancária - Construtores public class BankAccount{ double balance; public BankAccount() { balance = 0; } public BankAccount(double initialBalance) { balance = initialBalance; }

Lembrando: Conta Bancária - depósito public class BankAccount{ double balance;... public void deposit(double amount) { double newBalance= balance + amount; balance = newBalance; }

Lembrando: Conta Bancária - Saque public class BankAccount{ double balance;... public void withdraw(double amount) { balance = balance - amount; }

Lembrando: Conta Bancária - Saldo public class BankAccount{ double balance;... public double getBalance() { return balance; }

Lembrando: Conta Bancária - Saldo public class BankAccount{ double balance;... public double getBalance() { return balance; }

Comportamento: Transferência  Comportamento de uma conta:  transferência entre contas  Métodos da classe BankAccount:  transferTo  Interface: public void transferTo(BankAccount b, double x) Transferindo dinheiro BankAccount harry= new BankAccount(100); momsSavings.transferTo(harry, 200); System.out.println(harry.getBalance()); // 300

Conta Bancária – Transferência public class BankAccount{... public void transferTo(BankAccount b, double x){ }

Conta Bancária – Transferência public class BankAccount{... public void transferTo(BankAccount b, double x){ balance= balance – x; }

Conta Bancária – Transferência public class BankAccount{... public void transferTo(BankAccount b, double x){ balance= balance – x; b.balance= b.balance + x; }

Conta Bancária – this public class BankAccount{... public void transferTo(BankAccount b, double x){ this.balance= this.balance – x; b.balance= b.balance + x; }

Conta Bancária – this public class BankAccount{... public void transferTo(BankAccount b, double x){ this.balance= this.balance – x; b.balance= b.balance + x; }  this se refere ao objeto corrente  Útil quando uma das variáveis tem o mesmo nome que um parâmetro public void transferTo(BankAccount b, double balance){ this.balance= this.balance – balance; b.balance= b.balance + balance; }

Conta Bancária – Teste transferTo! public class BankAccount{ double balance;... public static void main(String[] args){ BankAccount mom= new BankAccount(2000); BankAccount harrys = new BankAccount(1); mom.transferTo(harrys, 200) System.out.println(mom.getBalance()); }

Entrada pelo Teclado  Usuário usa o teclado para digitar algo:  programa guarda entrada em variável  Quer uma classe para fazer isso?  Sempre procure uma classe já pronta primeiro  A classe Scanner faz isso  java.util.Scanner  melhor que System.in, o análogo de System.out

import java.util.Scanner; public class Echo { public static void main (String[] args) { String message; Scanner scan = new Scanner (System.in); System.out.println ("Enter a line of text: "); message = scan.nextLine(); System.out.println ("You entered: \"" + message + "\""); } Exemplo Scanner Class

import java.util.Scanner; public class Echo { public static void main (String[] args) { String message; Scanner scan = new Scanner (System.in); System.out.println ("Enter a line of text: "); message = scan.nextLine(); System.out.println ("You entered: \"" + message + "\""); } Exemplo Scanner Class  Importe Scanner class do pacote java.util

Importando Pacotes  Coleção de classes são agrupadas em pacotes  tell Java which packages to keep track of with import statement  Cheque a API Java para encontrar que pacotes contém a classe correta para você  Você não precisa importar String, System.out, etc porque classes básicas, que ficam no pacote java.lang são importadas automaticamente

import java.util.Scanner; public class Echo { public static void main (String[] args) { String message; Scanner scan = new Scanner (System.in); System.out.println ("Enter a line of text: "); message = scan.nextLine(); System.out.println ("You entered: \"" + message + "\""); } Exemplo Scanner Class  Declara variável string para ser guardar os caracteres que o usuário digita.

import java.util.Scanner; public class Echo { public static void main (String[] args) { String message; Scanner scan = new Scanner (System.in); System.out.println ("Enter a line of text: "); message = scan.nextLine(); System.out.println ("You entered: \"" + message + "\""); } Exemplo Scanner Class  Construtor cria objeto Scanner  pode ter qualquer nome, como keyboardStuff ou foo

import java.util.Scanner; public class Echo { public static void main (String[] args) { String message; Scanner scan = new Scanner (System.in); System.out.println ("Enter a line of text: "); message = scan.nextLine(); System.out.println ("You entered: \"" + message + "\""); } Exemplo Scanner Class  Pede entrada di usuário

import java.util.Scanner; public class Echo { public static void main (String[] args) { String message; Scanner scan = new Scanner (System.in); System.out.println ("Enter a line of text: "); message = scan.nextLine(); System.out.println ("You entered: \"" + message + "\""); } Exemplo Scanner Class  nextLine ler tudo que for digitado até um Enter  retorna uma longa string de caracteres

import java.util.Scanner; public class Echo { public static void main (String[] args) { String message; Scanner scan = new Scanner (System.in); System.out.println ("Enter a line of text: "); message = scan.nextLine(); System.out.println ("You entered: \"" + message + "\""); } Exemplo Scanner Class  Imprime tudo que foi digitado

Perguntas?