Java Prova Assunto

3088 palavras 13 páginas
Capítulo 6
Modificadores de acesso e atributos de classe
"A marca do homem imaturo é que ele quer morrer nobremente por uma causa, enquanto a marca do homem maduro é querer viver modestamente por uma."
Ao término desse capítulo, você será capaz de: controlar o acesso aos seus métodos, atributos e construtores através dos modificadores private e public; escrever métodos de acesso a atributos do tipo getters e setters; escrever construtores para suas classes; utilizar variáveis e métodos estáticos.
6.1 - Controlando o acesso
Um dos problemas mais simples que temos no nosso sistema de contas é que o método saca permite sacar mesmo que o limite tenha sido atingido. A seguir você pode lembrar como está a classe Conta: class Conta { int numero; Cliente titular; double saldo; double limite;

// ..

void saca(double quantidade) { this.saldo = this.saldo - quantidade; }
}
A classe a seguir mostra como é possível ultrapassar o limite usando o métodosaca: class TestaContaEstouro1 { public static void main(String args[]) { Conta minhaConta = new Conta(); minhaConta.saldo = 1000.0; minhaConta.limite = 1000.0; minhaConta.saca(50000); // saldo + limite é só 2000!! }
}
Podemos incluir um if dentro do nosso método saca() para evitar a situação que resultaria em uma conta em estado inconsistente, com seu saldo abaixo do limite. Fizemos isso no capítulo de orientação a objetos básica.
Apesar de melhorar bastante, ainda temos um problema mais grave: ninguém garante que o usuário da classe vai sempre utilizar o método para alterar o saldo da conta. O código a seguir ultrapassa o limite diretamente: class TestaContaEstouro2 { public static void main(String args[]) { Conta minhaConta = new Conta(); minhaConta.limite = 100; minhaConta.saldo = -200; //saldo está abaixo dos 100 de limite }
}
Como evitar isso? Uma ideia simples seria testar se não estamos ultrapassando o limite toda vez que formos alterar o saldo:
class

Relacionados

  • JAVAMagazine PorDentroDo JAVFX 2
    3200 palavras | 13 páginas
  • Analista
    1436 palavras | 6 páginas
  • Concurso
    3308 palavras | 14 páginas
  • Meios de ensino da linguagem java
    5785 palavras | 24 páginas
  • Programação Orientada
    746 palavras | 3 páginas
  • Linguagem java
    2718 palavras | 11 páginas
  • rtyuio
    2461 palavras | 10 páginas
  • Ciência da Computação
    672 palavras | 3 páginas
  • Artigo: análise e comparação de frameworks para grafos
    3776 palavras | 16 páginas
  • Redes De Computadores
    754 palavras | 4 páginas