Sobes.tech
Junior

Ի՞նչ են անանուն դասերը և որտեղ են կիրառվում:

sobes.tech AI

Պատասխան AI-ից

Անվանում չունեցող դասը տեղական ներքին դաս է առանց անունի:

  • Դիմումներ:

    • GUI հավելվածներում իրադարձության լսիչներ ստեղծելիս (օրինակ, կոճակների համար):
    • Ինտերֆեյսների իրականացման կամ աբստրակտ դասերի ընդլայնման համար "տեղում", երբ անհրաժեշտ է միայն մեկ օրինակ և դրա օգտագործումը տեղական է:
    • Բազմապտուղ ծրագրավորման մեջ Runnable կամ Callable օրինակներ ստեղծելու համար:
  • Առավելություններ:

    • Կրճատում է կոդի ծավալը, երբ դասի կրկնակի օգտագործում չի պահանջվում:
    • Պարզ, միանգամյա իրականացումների համար կարդալու հեշտություն:
  • Կամչություններ:

    • Կարող է դարձնել կոդը ավելի քիչ ընթեռնելի բարդ իրականացումների համար:
    • Չի կարող կրկնակի օգտագործվել:
    • Դասի արտաքին դաշտերին մուտքը միայն final կամ արդյունավետ effectively final փոփոխականների միջոցով է, հին Java տարբերակներում:
// Օրինակ `Runnable`-ի համար անանուն դասի օգտագործում
Runnable myRunnable = new Runnable() {
    @Override
    public void run() {
        System.out.println("Անանուն դասի գործարկում:");
    }
};

new Thread(myRunnable).start();
// Օրինակ` իրադարձության լսողի համար անանուն դասի օգտագործում (հիպոթետիկ)
// Որոշ UI շրջանակներ այս մոտեցումը օգտագործում են:
//button.setOnAction(new EventHandler<ActionEvent>() {
//    @Override
//    public void handle(ActionEvent event) {
//        System.out.println("Կոճակը սեղմվեց!");
//    }
//});