ベッターとして機能するクラスがあり、そのクラスでは、ベッターは、ベットを作成するメソッドでベットを行うことができます。ただし、bet クラスのコンストラクターは、bettor クラスからその bettor の同じ参照を取得する必要があります。どうやってそれを行うのですか?
これが私がこれに使用しようとしていたコードです。ベッタークラスの新しい参照を作成していることに気づきましたが、とにかく試してみようと思いました
public Bet placeBet(Bet.BetType betType, double amount)
{
if(betType.equals(Bet.BetType.passBet))
{
this.bankroll=bankroll-amount;
return new PassBet(new Bettor(this.name,this.bankroll),amount);
}
else if(betType.equals(Bet.BetType.any7))
{
this.bankroll=bankroll-amount;
return new Any7Bet(new Bettor(this.name,this.bankroll),amount);
}
else if(betType.equals(Bet.BetType.hard8)||betType.equals(Bet.BetType.hard10))
{
this.bankroll=bankroll-amount;
return new HardWayBet(new Bettor(this.name,this.bankroll),amount);
}
return null;
}
一方、PassBet クラスはそのように見えます (これは Bet クラスのサブクラスであり、Bettor 参照とベット額を保持します)。
public PassBet(Bettor b, double amount)
{
super(b,amount);
}
元の Bettor を引数として PassBet サブクラスに渡し、それをスーパークラス Bet に格納するにはどうすればよいでしょうか?