A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Capítulos 5 e 6 Orientação a Objetos Classes. 2 Capítulos 5 e 6 – Orientação a Objetos e Classes Orientação a Objetos Classe e Objeto Atributos Valor.

Apresentações semelhantes


Apresentação em tema: "Capítulos 5 e 6 Orientação a Objetos Classes. 2 Capítulos 5 e 6 – Orientação a Objetos e Classes Orientação a Objetos Classe e Objeto Atributos Valor."— Transcrição da apresentação:

1 Capítulos 5 e 6 Orientação a Objetos Classes

2 2 Capítulos 5 e 6 – Orientação a Objetos e Classes Orientação a Objetos Classe e Objeto Atributos Valor null Métodos (recapitulação) Encapsulamento Cláusula this Diagrama de classe Relacionamento tem-um

3 3 Capítulos 5 e 6 – Orientação a Objetos e Classes Exemplo de classe em Java public class Conta { public int numero; public String nome; public double saldo; } Na aplicação principal: Conta c1; c1 = new Conta(); Conta c2 = new Conta(); c1.numero = 5003; c1.nome = "Manuel"; c1.saldo = 800.0; c2.numero = 5004; c2.nome = "Joaquim"; c2.saldo = 650.0;

4 4 Capítulos 5 e 6 – Orientação a Objetos e Classes Classe e Objeto public class Conta { public int numero; public String nome; public double saldo; } Conta c1 = new Conta(); c1.numero = 5003; c1.nome = "Manuel"; c1.saldo = 800.0; Conta (Classe) c1 (Objeto) instanciação

5 5 Capítulos 5 e 6 – Orientação a Objetos e Classes Atributos (membros de dados) public class Conta { public int numero; public String nome; public double saldo; } Atributos

6 6 Capítulos 5 e 6 – Orientação a Objetos e Classes Objeto (instância) Conta c1 = new Conta(); c1.numero = 5003; c1.nome = "Manuel"; c1.saldo = 800.0; Instanciação (criação do objeto) Variável (Contém o objeto)

7 7 Capítulos 5 e 6 – Orientação a Objetos e Classes Valor null Conta c1 = null;... if (c1 == null) { c1 = new Conta(); } c1.numero = 5003; c1.nome = "Manuel; c1.saldo = 800.0;

8 8 Capítulos 5 e 6 – Orientação a Objetos e Classes Exercício Capítulo 6 – laboratório 1

9 9 Capítulos 5 e 6 – Orientação a Objetos e Classes Métodos (membros de ação) public class Conta { public int numero; public String nome; public double saldo; public void depositar (double v) { saldo += v; } public void retirar (double v) { saldo -= v; } } Na aplicação principal: Conta c1 = new Conta(); c1.numero = 5003; c1.nome = "Manuel"; c1.saldo = 800.0; c1.depositar(150.0); c1.retirar(300.0);

10 10 Capítulos 5 e 6 – Orientação a Objetos e Classes Sobrecarga de métodos public class Conta { public int numero; public String nome; public double saldo = 0; /** Retira o valor especificado */ public void retirar (double v) { if (v <= saldo) saldo -= v; else System.err.println("Saldo insuficiente"); } /** Retira todo o valor do saldo */ public void retirar () { saldo = 0; } }

11 11 Capítulos 5 e 6 – Orientação a Objetos e Classes Sobrecarga de métodos Na aplicação principal: Conta c1 = new Conta(); c1.depositar(700.0); c1.retirar(300.0); System.out.print("Saldo: "); System.out.print(c1.getSaldo()); c1.retirar(); System.out.print("Saldo: "); System.out.print(c1.getSaldo());

12 12 Capítulos 5 e 6 – Orientação a Objetos e Classes Exercício Capítulo 7 – laboratório 1

13 13 Capítulos 5 e 6 – Orientação a Objetos e Classes Encapsulamento public class Conta { public int numero; public String nome; private double saldo; public void depositar (double v) { saldo += v; } public void retirar (double v) { if (v <= saldo) saldo -= v; else System.out.println("Saldo insuficiente"); } public double getSaldo () { return saldo; } } Membro privado (inacessível fora da classe)

14 14 Capítulos 5 e 6 – Orientação a Objetos e Classes Encapsulamento Na aplicação principal: Conta c1 = new Conta(); c1.numero = 5003; c1.nome = "Manuel"; c1.saldo = 800.0; c1.depositar(420.0); c1.retirar(300.0); System.out.print("Saldo atual: "); System.out.print(c1.getSaldo()); Inacessível

15 15 Capítulos 5 e 6 – Orientação a Objetos e Classes Modificadores public e private public – Modificador de acesso que torna o membro da classe visível e utilizável por qualquer outra classe da aplicação. private – Modificador de acesso que torna o membro da classe restrito para uso interno da própria classe. – Membros privados são inacessíveis fora da classe.

16 16 Capítulos 5 e 6 – Orientação a Objetos e Classes Terminologia get/set public class Conta { private int numero; private String nome; private double saldo; public int getNumero () { return numero; } public void setNumero (int n) { numero = n; } public String getNome () { return nome; } public void setNome (String n) { nome = n; } public double getSaldo () { return saldo; } }

17 17 Capítulos 5 e 6 – Orientação a Objetos e Classes Terminologia get/set public class Conta { private int numero; private String nome; private double saldo; public int getNumero () { return numero; } public void setNumero (int n) { numero = n; } public String getNome () { return nome; } public void setNome (String n) { nome = n; } public double getSaldo () { return saldo; } } Membros de dados Todos são privados (private)

18 18 Capítulos 5 e 6 – Orientação a Objetos e Classes Terminologia get/set public class Conta { private int numero; private String nome; private double saldo; public int getNumero () { return numero; } public void setNumero (int n) { numero = n; } public String getNome () { return nome; } public void setNome (String n) { nome = n; } public double getSaldo () { return saldo; } } Métodos get São públicos (public) Retornam um valor Não possuem parâmetros

19 19 Capítulos 5 e 6 – Orientação a Objetos e Classes Terminologia get/set public class Conta { private int numero; private String nome; private double saldo; public int getNumero () { return numero; } public void setNumero (int n) { numero = n; } public String getNome () { return nome; } public void setNome (String n) { nome = n; } public double getSaldo () { return saldo; } } Métodos set São públicos (public) Não retornam valor (void) Possuem um único parâmetro

20 20 Capítulos 5 e 6 – Orientação a Objetos e Classes Terminologia get/set Na aplicação principal: Conta c1 = new Conta(); c1.setNumero(5003); c1.setNome("Manuel"); c1.depositar(420.0); c1.retirar(300.0); System.out.print("Saldo atual: " + c1.getSaldo());

21 21 Capítulos 5 e 6 – Orientação a Objetos e Classes Cláusula this public class Conta {..... private int matricula = 18;..... public void calculaAlgo() { int matricula = 32;..... System.out.println(matricula); System.out.println(this.matricula); }..... } Variável local Atributo A palavra-chave this força o java a enxergar a variável como um membro da classe.

22 22 Capítulos 5 e 6 – Orientação a Objetos e Classes Diagrama de classe Conta numero : int nome : String saldo : double getNumero() setNumero(int) getNome() setNome(String) getSaldo() depositar(double) retirar(double) Nome da classe Membros de dados atributos Membros de ação métodos

23 23 Capítulos 5 e 6 – Orientação a Objetos e Classes Relacionamento tem-um Cliente cpf : String nome : String endereco : String conta : Conta getCpf() setCpf(String) getNome() setNome(String) getEndereco() setEndereco(String) getConta() setConta(Conta) Conta numero : int saldo : double getNumero() setNumero(int) getSaldo() depositar(double) retirar(double)

24 24 Capítulos 5 e 6 – Orientação a Objetos e Classes Relacionamento tem-um public class Cliente { private Conta conta; public Conta getConta () { return conta; } public void setConta (Conta c) { conta = c; }..... }

25 25 Capítulos 5 e 6 – Orientação a Objetos e Classes Relacionamento tem-um Na aplicação principal: Conta con = new Conta(); con.setNumero(5003); con.depositar(300.0); Cliente cli = new Cliente(); cli.setCpf(" "); cli.setNome("Manuel da Silva"); cli.setConta(con); String nome = cli.getNome(); double saldo = cli.getConta().getSaldo(); System.out.print("Saldo do cliente " + nome + ": " + saldo );

26 26 Capítulos 5 e 6 – Orientação a Objetos e Classes Exercício Capítulo 6 – laboratório 1 reformulado – Alterar a classe Cliente utilizando o padrão get/set; – A classe Cadastro deverá preencher as instâncias de Cliente através dos métodos set; – Para exibir os dados das instâncias, a classe Cadastro deverá utilizar os métodos get da classe Cliente.


Carregar ppt "Capítulos 5 e 6 Orientação a Objetos Classes. 2 Capítulos 5 e 6 – Orientação a Objetos e Classes Orientação a Objetos Classe e Objeto Atributos Valor."

Apresentações semelhantes


Anúncios Google