2016-12-22 2 views
0

class Dogclass Animalから継承すると、「Dog is an Animal」と言います。 class DogのプロパティがNameの場合、「Dog has a Name」と表示されます。 class Dogのメソッドがvoid Sleep()の場合、「Dog can Sleep」と言います。列挙とクラスの関係は何ですか?

クラスにenumがある場合はどうなりますか?次の場合:

enum UserType { 
Admin, 
Guest, 
Registered 
} 

そして、どこに列挙型を置くのが一般的ですか?拡張メソッドを使用しているように、すべての列挙型を1つの大きなクラスに入れるのは普通ですか?

答えて

1

列挙型は定数のリストです。つまり、開発者としてあなたはどこでそれを使用するかを決定します。通常、月、曜日、アクセスタイプは一般的な列挙型です。たとえば、犬についてのあなたの例です。あなたの足のために犬に尋ねると、あなたは彼に報酬を与えるとき、enumのような足です。その後

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の場合、それは別のユーザーのタイプに向けた規制のいくつかの種類としてです検討してください。たとえば、ユーザーのアイコンをロードするときに、usertype == Adminの場合はicon、usertype ==の場合はクラウンが表示され、メインピクチャにはスターのオーバーレイが表示されます。または管理者は投稿、コメントを編集するためのアクセス権を持っています。ゲストと登録されているユーザーはそのアクセス権を持っていません。

関連する問題