Sobes.tech
Junior — Middle

Тавсиф диҳед дар бораи мафҳуми Enum Class ва фарқияти он аз рӯйхатҳои оддӣ

sobes.tech AI

Ҷавоб аз AI

Дар Android (ва умумӣ дар Java) enum class — ин синфи рӯйхат мебошад, ки маҷмӯи доимӣҳои бо имконияти илова кардани майдонҳо, усулҳо ва конструкторҳоро намояндагӣ мекунад.

Фарқиятҳо бо рӯйхатҳои оддӣ (масалан, дар C ё доимиятҳои оддӣ):

  • Бехатарии навъ — enum як синфи пурра аст, ва тағйирёбандаи навъи enum метавонад танҳо арзишҳои муайяншударо қабул кунад.
  • Имконият барои илова кардани рафтор — мумкин аст усулҳо ва майдонҳоро дар дохили enum муайян кард.
  • Истифода дар switch — enum дар операторҳои интихоб қулай аст.

Масали enum дар Java/Android:

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 роҳи васеъшудаи муайян кардани маҷмӯи доимӣҳои бо функсионалияти иловагӣ мебошад, баръакс аз рӯйхатҳои оддӣ, ки метавонанд танҳо маҷмӯи рақамҳо ё сатрҳо бошанд, бе мантиқ.