0

ベッターとして機能するクラスがあり、そのクラスでは、ベッターは、ベットを作成するメソッドでベットを行うことができます。ただし、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 に格納するにはどうすればよいでしょうか?

4

2 に答える 2