2016-12-22 73 views
0

class Dog繼承自class Animal時,我們說'狗是動物'。 當class Dog有一個屬性Name,我們說'狗有名字'。 當class Dog有一個方法void Sleep(),我們說'狗可以睡覺'。枚舉和類之間的關係是什麼?

當班級有enum時,我們該說些什麼?在以下情況下:

enum UserType { 
Admin, 
Guest, 
Registered 
} 

並且在哪裏放置枚舉?通常把所有枚舉放在一個大類中,就像使用擴展方法一樣?

回答

1

枚舉是常量的列表。這就是說,你作爲開發者決定在哪裏使用它。通常幾個月,一週中的幾天,訪問類型是常見的枚舉。例如你的關於狗的例子。我想到的一件事就是把爪子當作爪子,當你問狗爪子時,你會獎勵他。例如,在你的狗類:

public enum Paw{ RIGHTFRONT,LEFTFRONT,RIGHTRARE,LEFTRARE } 

public Dog(Paw paw){ 
this.paw=paw; 
} 

public void rewardDog(){ 
switch(paw){ 
case RIGHTFRONT: giveFood(); 
break; 
case LEFTFRONT: giveWater(); 
break; 
}; 

您的活動

然後:

Dog mDog=new Dog(Paw.RIGHTFRONT); 
mDog.rewardDog(); 

在用戶類型的情況下,可以考慮它作爲某種向不同的用戶類型限制。例如,當你爲用戶加載圖標時,你可以定義如果usertype == Admin,那麼在圖標上將會有一個皇冠,如果usertype == Registered,那麼主圖片上會有一個星號。或者管理員可以訪問編輯帖子,評論;但是賓客和註冊用戶沒有這個權限。

相關問題