Abstrakt klass va interfeys haqida qisqacha
Abstrakt klasslar umumiy xususiyatlar bo'yicha obyektlar iyerarxiyasini yaratish uchun kerak bo'ladi. Bu yerda muhim narsa ajdod – merosxo'r xususiyatidir. Masalan, "Qush" abstract klassini olaylik. Bu klassning merosxo'rlari aniq bir turdagi qushlar – kabutarlar, chumchuqlar va h.k lar bo'ladi.
Aniq turdagi qush uchun klass yaratishimizda bu klass qaysi qush uchun ekanligi muhim emas – biz tuzayotgan klassimizni "Qush" abstract klassidan meros olib tuzamiz. Bu klassda "sayrash", "yurish", "uchish" metodlaridan foydalanamiz. Ammo, agar barcha qushlar uchmasachi? Masalan, tuyaqush yoki pingivin.
Bunda bizga interfeyslar yordamga keladi. Interfeyslarda ajdod-merosxo'r bog'lanishi muhim emas. Ular faoliyat turini aniqlab beradi. Yuqoridagi misolimizda "uchish" faoliyati(metodi)ni interfeysga kiritamiz va uni faqat uchadigan qushlar uchun ishlatamiz. Keyinchalik bu interfeysimizni samolyotlarda ham ularning uchish qobiliyatini berishda ishlatishimiz mumkin.
Bu tushunchalar obyektga yo'naltirilgan dasturlashda juda keng qo'llanilinadi. Ushbu dasturlashning asosiy elementlari hisoblanadi.
Shunday qilib bu yerda biz polimorfizmning ikkita yo'nalishini ko'rishimiz mumkin: birinchisi ajdod-merosxo'r bog'lanishini beradi, ikkinchisi esa faoliyat turini.
Manba:
Texnoman.uz