2016-12-22 2 views
0

Wenn die class Dog von der class Animal erbt, sagen wir, dass "Hund ein Tier ist". Wenn die class Dog eine Eigenschaft Name hat, sagen wir, dass "Hund einen Namen hat". Wenn die class Dog eine Methode void Sleep() hat, sagen wir, dass "Hund schlafen kann".Wie ist die Beziehung zwischen Aufzählung und Klasse?

Was sagen wir, wenn eine Klasse eine enum hat? Im Falle der folgenden:

enum UserType { 
Admin, 
Guest, 
Registered 
} 

Und wo ist es üblich, Enums zu setzen? Ist es üblich, alle Enums in einer großen Klasse zu platzieren, so wie es mit Erweiterungsmethoden gemacht wird?

Antwort

1

Enum ist eine Liste der Konstanten. Davon abgesehen bestimmen Sie als Entwickler, wo Sie es verwenden. In der Regel Monate, Tage der Woche, Zugriffsarten sind gemeinsame enums. Zum Beispiel dein Beispiel über Hund. Das einzige, was mir in den Sinn kam, ist Pfote als Enum, wenn du den Hund nach seiner Pfote fragst, und du belohnst ihn. Zum Beispiel in Ihrer Hundeklasse:

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; 
}; 

usw.

Dann in Ihrer Aktivität:

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

Bei Usertype, betrachten es als eine Art von Beschränkungen gegenüber anderen Benutzertyp. Wenn Sie zum Beispiel Symbole für die Benutzer laden, können Sie festlegen, dass, wenn usertype == Admin, dann das Symbol eine Krone ist, wenn usertype == Registered, wird ein Stern über das Hauptbild gelegt. Oder Admin hat Zugriff auf Beiträge, Kommentare bearbeiten; aber Gäste und registrierte haben diesen Zugang nicht.

Verwandte Themen