Groovy web console

subscribe to the feed Subscribe
to this
site

novo

Published 4 months ago by Adriel
Actions Execute script  ▶ Edit in console Back to console Show/hide line numbers View recent scripts
class Controle{
    static void main(String[] args){
        Cliente cliente1 = new Cliente('Adriel', 17);
        cliente1.falaCliente();
        Valor valor = new Valor(cliente1);
        valor.desconto();
        valor.falaValor();
    }
}

class Cliente{
    def nome;
    def idade;
    
    Cliente( def name, def age){
        nome = name;
        idade = age;
    }
    def isMenor(){
        idade < 18;
    }

    def isIdoso(){
        idade > 60;
    }
    
    def falaCliente(){
        println("O cliente $nome  tem $idade anos");
    }
}


class Bilhete{
    def preco = 20;
}


class Data{
    def diaSemana = 'quarta';
    def mesAtual = 12;
}


class Valor{
    private final Cliente cliente;

    public Valor(Cliente cliente) {
        this.cliente = cliente;
    }

    Bilhete bilhete = new Bilhete();
    Data data = new Data();
    def valorDesconto;
    def valor1 = bilhete.preco;
    
    def desconto(){
        if(cliente.isIdoso() || data.mesAtual == 12 && cliente.isMenor()){
            valorDesconto = valor1 - (valor1*10)/100;
        }else if(!cliente.isMenor() && data.diaSemana == 'quarta'){
            valorDesconto = valor1 - (valor1*5)/100;
        }  

    }
    
    def falaValor(){
        println('Vai pagar ' + valorDesconto);
    }
}