PHP meros, abstrakt klass va interfeys
Bir necha klass umumiy xususiyatga ega bo’lsa, ularni har birida qayta yozish shart emas. Meros umumiy qismni bitta joyda saqlashga imkon beradi.
extends — kengaytirish
Talaba tanishtir() ni yozmagan, lekin u ishladi — ota klassdan meros
qilib olindi.
Metodni qayta yozish
Avlod ota metodini almashtiradi, lekin parent:: orqali uning natijasidan
foydalanishi mumkin — noldan yozishdan yaxshiroq.
abstract — bajarilmagan shablon
interface — shartnoma
Polimorfizm
Tur sifatida interfeys
Buyurtma qanday jurnal ishlatilishini bilmaydi — bu tashqaridan
beriladi. Shu tufayli sinovda haqiqiy jurnal o’rniga xotiradagisini qo’yish
mumkin. Bu naqsh bog’liqlikni kiritish (dependency injection) deb ataladi.
final — kengaytirishni taqiqlash
final metod qayta yozilmaydi, final klassdan meros olinmaydi. Xatti-harakat
buzilmasligi muhim bo’lgan joylarda ishlatiladi.
Meros o’rniga kompozitsiya
Amaliy mashq
Hayvonklassi va undanIt,Mushukavlodlarini yozing;ovoz()metodini har avlodda qayta yozing;- avlod constructor’ida
parent::__constructchaqiring; Shaklabstrakt klassi va ikki avlod yasang;Tolovinterfeysi bilan uch xil usul yozing;instanceofbilan turlarni tekshiring.
5-qadam polimorfizmning butun foydasini ko’rsatadi.
Qisqacha xulosa
extendsavlod klassni ota asosida yaratadi;parent::ota a’zosiga murojaat.protected— shu klass va avlodlar uchun.- Abstrakt klassdan obyekt yasab bo’lmaydi;
abstractmetodni avlod yozishi shart. - Interfeys — shartnoma: nima qila olishini aytadi, qanday qilishini emas.
- Bir klass bitta klassdan meros oladi, lekin ko’p interfeys bajaradi.
- Polimorfizm: bir chaqiruv turli obyektlarda turlicha ishlaydi.
- Chuqur meros o’rniga ko’pincha kompozitsiya afzal.
Keyingi darsda sessiya va cookie — foydalanuvchini eslab qolish.