Obyektga yo'naltirilgan dasturlashda abstrakt sinf va interfeys o'rtasidagi farqlar nimalardan iborat?
sobes.tech AI
AIdan javob
Ob'ektli sinf va interfeyslar ob'ektga yo'naltirilgan dasturlashda shartnomalar va xulq-atvorlarni tasvirlash uchun turli mexanizmlardir, ammo asosiy farqlarga ega:
-
Ob'ektli sinf abstrakt (implementatsiyasi bo'lmagan) va konkret metodlarni o'z ichiga olishi mumkin. U holatga (maydonlar) ega bo'lishi mumkin. Sinflar ob'ektli sinfdan meros oladi va metodlarni qayta yozishi mumkin.
-
Interfeys faqat implementatsiyasi bo'lmagan metodlar to'plamini tasvirlaydi va holatga ega emas. Interfeysni amalga oshiradigan sinf uning barcha metodlarini amalga oshirishi shart.
Farqlarga misol:
- Ob'ektli sinf, meros oluvchilar uchun asosiy amalga oshirish va umumiy holatni belgilash uchun mos keladi.
- Interfeys, turli sinflar tomonidan amalga oshirilishi mumkin bo'lgan imkoniyatlarni tasvirlash uchun ishlatiladi, meros olish bilan bog'liq emas.
Masalan, Flyable interfeysi fly() metodini tasvirlashi mumkin, va ob'ektli sinf Bird wingSpan maydonini va sing() metodini amalga oshirish bilan ta'minlashi mumkin.