JAVA: Bilheteria

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 ^^

Aaaaaaa, tão começando a usar os meus cheats vei, num vale, XDDDD

Ei Nay, é melhor tu emplementar as bonificações diretamente na classe de compra de ingreço, da um impleements na interface e faz a implementação nela mesma.

Ainda tou com bronca no meu código, nem rodou ainda, por causa de 1 erro, ~~

Mesmo assim vou dar uma olhada pra ver se te ajudo, XDDD
Flw

eu sei disso .-. mas aí obrigatoriamente eu tenho que usar uma interface ou uma abstractclass .-.
fora que eu ainda vou ter que fezer uma fachada… mas tesnho que terminar isso antes e.e’

Hummmm, mas fachada só com interface gráfica pronta, já fizesse? O.o
Adianta de nada uma fachada sem interface gráfica.
~~

nada disso O.o fachada é só pra organizar o código, não precisa das interfaces graficas… até porque eu não vou fazê-las ù.ú
já tenho muito trabalho pela frente… porque ninguém responde o tópico? ;-;