私はaccessFlag静的整数を持つ抽象クラスUserを持っています。そして、私はこのクラスを異なるaccessFlagで継承する複数のクラスを持っています。学生、管理者、先生。これらのクラスはすべてaccessFlagを含む必要がありますが、私は管理者の静的なaccessFlag = 2のようなクラスに設定したいと思います。静的継承された静的変数のオーバーライド
管理者を作成してaccessFlagを表示するときのコードは、現在2つではなく0を表示しています。私は管理者でgetterとsetterを作成できたと仮定して、適切な値を取得しますaccessFlagのユーザーゲッターとセッターから継承したすべてのクラスでコードが重複しています。
abstract public class User
{
static int accessFlag;
public int AccessFlag
{
get
{
return accessFlag;
}
set
{
accessFlag = value;
}
}
}
public class Administrator: User
{
static int accessFlag = 2;
}
静的メンバーは継承されません。だからあなたはまたそれらを無効にすることはできません。 – poke
私はあなたがここで静的を望まないと確信しています。あなたは代わりにインターフェイスを考えましたか? – Eris
@静的フィールドでない場合はどうしたらいいですか?私はまだ エリスまあインタフェースは唯一の方法は、私はよく分からないことができ、ユーザのクラスを継承するすべてのクラスでオーバーライドゲッターとセッターを記述する必要があります場合は最高のアイデアのthats – Higeath