SORU
12 EYLÜL 2009, CUMARTESİ


Çeteleler yeni öğeler eklemek için alt edebilir mi?

Aşağıdaki gibi: varolan bir numaralandırma ve daha fazla öğe eklemek istiyorum

enum A {a,b,c}

enum B extends A {d}

/*B is {a,b,c,d}*/

Bu mümkün Java mı?

CEVAP
12 EYLÜL 2009, CUMARTESİ


Çeteleler Olası değerlerin tam bir numaralandırma temsil eder. (İşe yaramaz) cevap hayır.

Gerçek bir sorun örneği olarak hafta içi, hafta sonu gün, birlik, haftanın günleri. -Gün-hafta içinde her gün tanımlayabiliriz ama sonra özellikleri de hafta içi ve hafta sonu günler için özel temsil etmek mümkün olmaz.

Bunu, hafta içi arasında bir eşleme ile üç numaralama türleri yapabiliriz ne hafta sonu gün ve gün.

public enum Weekday {
    MON, TUE, WED, THU, FRI;
    public DayOfWeek toDayOfWeek() { ... }
}
public enum WeekendDay {
    SAT, SUN;
    public DayOfWeek toDayOfWeek() { ... }
}
public enum DayOfWeek {
    MON, TUE, WED, THU, FRI, SAT, SUN;
}

Alternatif olarak, bir-gün-hafta için açık uçlu bir arayüz yapabiliriz:

interface Day {
    ...
}
public enum Weekday implements Day {
    MON, TUE, WED, THU, FRI;
}
public enum WeekendDay implements Day {
    SAT, SUN;
}

Ya iki yaklaşım kombine edebiliriz:

interface Day {
    ...
}
public enum Weekday implements Day {
    MON, TUE, WED, THU, FRI;
    public DayOfWeek toDayOfWeek() { ... }
}
public enum WeekendDay implements Day {
    SAT, SUN;
    public DayOfWeek toDayOfWeek() { ... }
}
public enum DayOfWeek {
    MON, TUE, WED, THU, FRI, SAT, SUN;
    public Day toDay() { ... }
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • FUNKER530 - Veteran Community & Combat Footage

    FUNKER530 -

    25 Ocak 2007
  • MVLV28

    MVLV28

    17 Mart 2008
  • Skittles Page

    Skittles Pag

    28 Mart 2011