⊗ppOpFnCl 63 of 107 menu

PHP da OOP da Abstrakt Sinflar

Faraz qilaylik, sizda User sinfi bor, va undan Employee va Student sinflari meros oladi.

Bunda, Employee va Student sinflari obyektlarini yaratish nazarda tutilgan, lekin User sinfi obyektlarini yaratish - nazarda tutilmaydi, chunki bu sinf faqat o'z merosxo'rlarining umumiy xususiyatlari va metodlarini guruhlash uchun ishlatiladi.

Bunday holatda, User sinfi obyektlarini yaratishni majburiy ravishda taqiqlash mumkin, shunda siz yoki boshqa dasturchi ularni tasodifan yaratib qo'ymasliklari uchun.

Buning uchun abstrakt sinflar deb ataladigan sinflar mavjud. Abstrakt sinflar o'zlaridan meros olish uchun mo'ljallangan sinflardir. Bunday sinflarning obyektlarini yaratib bo'lmaydi.

Sinflarni abstrakt deb e'lon qilish uchun, uni e'lon qilishda abstract kalit so'zini yozish kerak:

<?php abstract class User { } ?>

Shunday qilib, keling User abstrakt sinfining realizatsiyasini yozamiz. Unda name private xususiyati, shuningdek uning getter va setter metodlari bo'lsin:

<?php abstract class User { private $name; public function getName() { return $this->name; } public function setName($name) { $this->name = $name; } } ?>

User sinfining obyektini yaratishga urinish xatolikni keltirib chiqaradi:

<?php $user = new User; // xatolik beradi ?>

Ammo bizning sinfimizdan meros olish mumkin bo'ladi. Keling Employee sinfini yarataylik, u bizning User abstrakt sinfimizdan meros oladi:

<?php class Employee extends User { private $salary; public function getSalary() { return $this->salary; } public function setSalary($salary) { $this->salary = $salary; } } ?>

Employee sinfining obyektini yarataylik - hammasi ishlaydi:

<?php $employee = new Employee; $employee->setName('john'); // ota sinfning metodi, ya'ni User sinfining $employee->setSalary(1000); // o'z sinfining metodi, ya'ni Employee sinfining echo $employee->getName(); // 'john' ni chiqaradi echo $employee->getSalary(); // 1000 ni chiqaradi ?>

Figure abstrakt sinfini yarating, u geometrik shaklni ifodalasin. Undan doira, to'rtburchak va kvadrat sinflari meros olsin.

Oʻzbek
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекTiếng Việt
Biz sayt ishlashi, tahlil qilish va shaxsiylashtirish uchun cookie-fayllardan foydalanamiz. Ma'lumotlarni qayta ishlash Maxfiylik siyosatiga muvofiq amalga oshiriladi.
hammasini qabul qilish sozlash rad etish