public abstract class State
{
public virtual Enter(/* THIS NEED A PARAMETER */)
{
// an empty method
}
}
public class PlayerState : State
{
public override Enter(Player pl)
{
// method implementation
}
}
public class GoalkeeperState : State
{
public override Enter(Goalkeeper gk)
{
// method implementation
}
}
//EXAMPLE OF USE
public State globalState;
globalState.Enter(owner);
// OWNER CAN BE PLAYER OR GOALKEEPER
仮想メソッドとオーバーライドされたメソッドは同じ「印刷」を持つ必要があることを理解しています。したがって、ここには設計上の欠陥があります。だから、このようなことが可能です。これどうやってするの ?これをどのように行いますか?