Sobes.tech
Junior — Middle

განმარტეთ Enum Class-ის მნიშვნელობა და მისი განსხვავება ჩვეულებრივი ჩამონათვალებისგან

sobes.tech AI

პასუხი AI-სგან

Androidda (եւ ընդհանուր առմամբ Java-ում) enum class-ը մի դաս է, որը ներկայացնում է հաստատությունների հավաքածու, որը կարող է ունենալ դաշտեր, մեթոդներ եւ կոնստրուկտորներ:

Տարբերություններ սովորական ցուցակներից (օրինակ՝ C-ում կամ պարզ հաստատություններում):

  • Տիպային անվտանգություն — enum-ը ամբողջական դաս է, եւ enum տիպի փոփոխականը կարող է ընդունել միայն սահմանված արժեքները:
  • Հնարավորություն ավելացնել վարքագիծ — enum-ի ներսում կարող եք սահմանել մեթոդներ եւ դաշտեր:
  • Օգտագործում switch-ում — enum-ը հարմար է ընտրության հրահանգներում:

Java/Android-ում enum-ի օրինակ:

public enum Status {
    NEW(0),
    IN_PROGRESS(1),
    DONE(2);

    private int code;

    Status(int code) {
        this.code = code;
    }

    public int getCode() {
        return code;
    }
}

Այսպիսով, enum class-ը ընդլայնված միջոց է սահմանելու հաստատունների ֆիքսված հավաքածու, որը ունի լրացուցիչ ֆունկցիոնալություն, տարբեր է պարզ enumeration-ներից, որոնք կարող են լինել միայն թվերի կամ տողերի հավաքածու առանց տրամաբանության։