oi~ tô com uns problemas aqui com uma bilheteria em java que eu tenho que fazer.
Fiz uma interface com o método clientefidelidade que é refernete ao desconto que alguns clientes tem, e três classes estendem dela…
o meu problema é o seguinte: como aplicar esses métodos no método pagar na classe comprar ingresso?
(pode parecer meio confuso do jeito que eu expliquei, mas eu vou mostrar as classes e vocês devem entender melhor)
package bonificacao;
public interface InterfaceBonus {
public boolean clientefidelidade (double valor);
}
package bonificacao;
public class ClienteUmAno implements InterfaceBonus {
private int bonus;
public ClienteUmAno(double valor, int bonus) {
this.bonus = bonus;
}
public boolean clientefidelidade (double valor) {
if (bonus == 1) {
valor = valor*(0.16);
return true;
} else
return false;
}
}
package bonificacao;
public class ClienteDoisAnos implements InterfaceBonus {
private int bonus;
public ClienteDoisAnos(double valor, int bonus) {
this.bonus = bonus;
}
public boolean clientefidelidade (double valor) {
if (bonus == 2) {
valor = valor*(0.28);
return true;
} else
return false;
}
}
package bonificacao;
public class ClienteTresAnos implements InterfaceBonus {
private int bonus;
public ClienteTresAnos(double valor, int bonus) {
this.bonus = bonus;
}
public boolean clientefidelidade (double valor) {
if (bonus == 3) {
valor = valor*(0.36);
return true;
} else
return false;
}
}
package compra_ingressos;
import bonificacao.InterfaceBonus;
import cliente.CadastroCliente;
import cliente.Conta;
public class ComprarIngresso extends Conta {
private double codigoShow;
private double qtd_ingre;
public ComprarIngresso (String CadastroCliente, double numero, int bonus, double saldo, double codigoShow, double qtd_ingre) {
super(CadastroCliente, numero, bonus, saldo);
this.codigoShow = codigoShow;
this.qtd_ingre = qtd_ingre;
}
public boolean Pagar (double saldo, double valor, double qtd_ingre, double qtd_cad) {
valor = valor*qtd_ingre;
if (bonus == 0 ) {
if (saldo <= 0) {
System.out.println("Saldo Insuficiênte.");
return false;
} else {
saldo = super.saldo - valor;
qtd_cad -= 1;
System.out.println("Operação executada com sucesso, tenha um bom show.");
return true;
}
}
return true;
}
public void TrocarIngresso (double valor, double novoValor, double difer, double qtd_cad) {
if (valor == novoValor) {
System.out.println("Ingresso trocado com sucesso.");
qtd_cad += 1;
} else
if (valor > novoValor){
difer = valor - novoValor;
difer += super.saldo;
System.out.println("foi adicionado ao se saldo: " + difer);
} else
if (valor < novoValor) {
difer = novoValor - valor;
difer -= super.saldo;
}
if (saldo < 0) {
difer += super.saldo;
System.out.println("Ingresso não pode ser trocado, saldo insuficiente.");
}
}
}
valeu pela atenção ^^