/*
 * Copyright (c) 1997-2000 Departamento de Informática - UFPE
 */

/**
 * Esta classe modela uma conta de um banco onde o cliente recebe um b&ocirc;nus
 * se a conta estiver com mais de 500.
 */
public class ContaBonusPadrao
    extends ContaPadrao {
    
    // Inteiro para guardar o bonus
    private double        bonus;
    
    public ContaBonusPadrao (double val, long num) {
        super (val,num); 
        bonus = 0.0;
    } 
  
    /**
     * M&eacute;todo chamado toda vez que se deseja que o b&ocirc;nus seja
     * incorpordado &agrave; conta.
     */
    public void renderBonus() {
         creditar(bonus);
         bonus = 0;
    } 
  
    /**
     * Neste tipo de conta, al&éacute;m de diminuir o saldo da conta, o
     * m&eacute;todo debitar tamb&eacute;m atualiza o valor do b&ocirc;nus.
     */
    public void debitar(double val) {
        super.debitar(val);
        if (val > 500.00) bonus = bonus - (val * 0.01);
    }
    
    /**
     * Neste tipo de conta, al&éacute;m de aumentar o saldo da conta, o
     * m&eacute;todo creditar tamb&eacute;m atualiza o valor do b&ocirc;nus.
     */
    public void creditar(double val) {
        if (val > 500.00) bonus = bonus + (val * 0.01);
        super.creditar(val);
    }

}
