PHP bo'yicha masalalar
PHP da class va obyektlar bo'yicha masala
Keling Fruit sinfini yaratamiz
Endi bu sinfda obyekt yaratamiz va sinfning name va color xususiyati qiymatini ekranga chiqaramiz
Endi esa shu sinfni yana kengaytiramiz
Strawberry sinfi shu sinfni kengaytirsin va unga yangi set_name() metodini qo'shamiz
class Strawberry extends Fruit
Endi esa shu sinfdan obyekt yarataylik. Yangi obyektimiz $name va $color xususiyatlariga ega bo'lishdan tashqari set_name() metodiga ham ega bo'ldi
$maymunjon->set_name('maymunjon', 'siyohrang');
bu yerda obyekt xususiyatlari qiymatini set_name() metodi orqali berdik.
Keling endi Behi sinfi strawberry sinfini kengaytirsin va unga qo'shimcha usullarni qo'shaylik
Yaratgan sinfimiz ota sinflaridan xususiyat va usullarni meros qilib oladi. Yani Fruit sinfida $name va $color, Strawberry sinfidan set_name() metodini.
Shu bilan birga o'zi ham get_name() va get_color() metodiga ega bo'ldi
Endi shu sinfdan behi obyektini yaratamiz:
$behi = new Behi;
$behi->set_name ('behi', 'tillarang');
Konstruktor funsiyasini qo'shish
Fruit sinfini Shaftoli sinfi kengaytirsin va unga konstruktor funksiyasini qo'shaylik:
function __construct($nom, $rang)
Endi klass sinfi Fruit sinfidagi $name va $color xususiyatlarini meros qilib oldi va o'zi ham yangi konstruktor funksiyasini qo'shib oldi.
Konstruktor funksiyasi sinfdan obyekt yaratayotganda obyekt xususiyatlarini ishga tushirishga yordam beryapti.
$shaftoli = new Shaftoli('shaftoli', 'sariq');
echo $shaftoli->name."<br>";
Konstruktor funksiyasi bizga sinf ichida set_name() metodini ishlatishni va sinf tashqarida obyekt xususiyatlarini yozish ($shaftoli->name = "shaftoli";) kabi ishlarni oldini oldini oladi va kodni qisqartirishga imkon beradi.
Destruktor funksiyasini qo'shish
Destruktor funksiyasi skript tugaganda ushbu funksiyada yozilgan kodni ishga tushirishga imkon beradi
Yuqoridagi Shaftoli sinfiga destruktor funksiyasini qo'shaylik. Destruktor funksiyasi sintaksisi ham konstruktor funksiyasi bilan bir xil:
function __construct($nom, $rang)
Destruktor funksiyasi obyekt yo'q qilinganda yoki obyekt ichida kodlar ishlashni tugatganda avtomatik ishga tushib ketadi.
Destruktor funksiyasi hech qanday argument qabul qilmaydi.
Konstruktor va destruktor funksiyalaridan foydalanish kod yozishni kamaytirishga imkon beradi.