Sobes.tech
Junior — Middle

Obyektga yo'naltirilgan dasturlashda abstrakt sinflarning asosiy funksiyalari va qo'llanilishi qanday?

sobes.tech AI

AIdan javob

Obyektga yo'naltirilgan dasturlashda abstrakt sinflar to, to'g'ridan-to'g'ri nusxa olish uchun mo'ljallanmagan, balki boshqa sinflar uchun asosiy shablon sifatida xizmat qiladigan sinflardir.

Abstrakt sinflarning asosiy funksiyalari:

  • Bog'liq sinflar guruhi uchun umumiy interfeys va asosiy xulq-atvorni belgilash.
  • Implementatsiyasiz abstrakt metodlarni (bo'sh metodlar) e'lon qilish imkoniyati, ularni subklasslar amalga oshirishi kerak.
  • Omon qolgan funksionallikni qisman amalga oshirishga imkon beradi, uni voris sinflar meros qilib oladi.

Qo'llanilishi:

  • Turli amalga oshirishlar uchun umumiy shartnoma belgilash zarur bo'lganda.
  • Ba'zi mantiq umumiy bo'lsa, va qismi vorislar tomonidan amalga oshirilishi kerak bo'lsa.

Java misoli:

abstract class Animal {
    abstract void makeSound(); // abstrakt metod
    void breathe() {
        System.out.println("Nafas oladi");
    }
}

class Dog extends Animal {
    void makeSound() {
        System.out.println("Gav-gav");
    }
}

Bu yerda, Animal to'g'ridan-to'g'ri yaratilmaydi, ammo makeSound metodini amalga oshiradigan Dog yaratilishi mumkin.