0
我有一個抽象類User和accessFlag靜態整數,然後我有多個繼承這個不同accessFlag的類,學生,管理員,老師。所有這些類都必須包含accessFlag,但我希望將其設置爲像管理員靜態accessFlag = 2;覆蓋靜態繼承的靜態變量
下面的代碼現在當我創建管理員和顯示accessFlag它顯示0而不是2.我假設我可以在管理員中創建getter和setter,然後我會得到適當的值,但我不想有如此多重複的代碼從繼承自用戶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
@poke如果它是非靜態字段呢?我還是會寫覆蓋getter和setter在每一個繼承的用戶類 厄里斯良好的接口,只允許方法,所以我不知道類如果多數民衆贊成最好的主意 – Higeath