Sobes.tech
Junior — Middle

Функсияҳои асосии синфҳои абстрактӣ ва истифодаи онҳо дар барномасозии объектӣ-баҳсшаванда чӣҳоянд?

sobes.tech AI

Ҷавоб аз AI

Класи абстрактӣ дар барномасозии нигаронидашудаи объектӣ класе мебошанд, ки барои эҷоди намунаҳои мустақим пешбинӣ нашудаанд, балки ҳамчун намунаҳои асосӣ барои дигар кластаро хизмат мекунанд.

Функсияҳои асосии класи абстрактӣ:

  • Тартиб додани интерфейми умумӣ ва рафтори асосӣ барои гурӯҳи кластаро алоқаманд.
  • Имконият барои эълон кардани методҳои абстрактӣ (бе иҷроиш), ки бояд аз ҷониби класи зерӣ иҷро шаванд.
  • Имкон медиҳад, ки қисман функсионалиро, ки аз ҷониби класи зерӣ мерос мегирад, иҷро кунад.

Барномаҳо:

  • Вақте ки лозим аст, шартномаи умумиро барои иҷрои гуногун муайян кардан.
  • Вақте ки қисми логика умумӣ аст, ва қисми дигар бояд дар зерклассҳо иҷро шавад.

Масалан дар Java:

abstract class Animal {
    abstract void makeSound(); // методи абстрактӣ
    void breathe() {
        System.out.println("Душ");
    }
}

class Dog extends Animal {
    void makeSound() {
        System.out.println("Гав-гав");
    }
}

Инҷо, Animal мустақиман эҷод кардан мумкин нест, аммо метавон Dog-ро эҷод кард, ки методи makeSound-ро иҷро мекунад.