⊗ppOpFnCl 63 of 107 menu

Darasa za Abstract katika OOP katika PHP

Hebu uwe na darasa User, na linachoathiriwa na madarasa Employee na Student.

Wakati huu inadhaniwa, utaunda vitu vya madarasa Employee na Student, lakini vitu vya darasa User - hutakuwa, kwa sababu darasa hili linatumika tu kwa kikundi cha sifa za kawaida na njia za warithi wake.

Katika hali hii inawezekana kwa lazima kukataza kuunda vitu vya darasa User, ili wewe au programu mwingine popote bila bahati usiziunde.

Kwa hili zipo zinazoitwa darasa za abstract Darasa za abstract zinawakilisha madarasa, yaliyokusudiwa k urithi kutoka kwayo. Wakati huu vitu vya madarasa kama hayo haviwezi kuundwa.

Ili kutangaza darasa kuwa abstract, inahitajika wakati wa kutangaza kwake kuandika neno kuu abstract:

<?php abstract class User { } ?>

Kwa hivyo, hebu tuandike utekelezaji wa abstract darasa User. Hebu iwe na sifa ya faragha name, na pia getters na setters kwayo:

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

Jaribio la kuunda kitu cha darasa User litasababisha hitilafu:

<?php $user = new User; // itatoa hitilafu ?>

Lakini kurithi kutoka kwa darasa letu itawezekana. Hebu tutengeneze darasa Employee, ambalo litaurithi kutoka kwa darasa letu la abstract User:

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

Hebu tuunde kitu cha darasa Employee - kila kitaenda kazi:

<?php $employee = new Employee; $employee->setName('john'); // njia ya mzazi, yaani darasa User $employee->setSalary(1000); // njia yake mwenyewe, yaani darasa Employee echo $employee->getName(); // itatoa 'john' echo $employee->getSalary(); // itatoa 1000 ?>

Tengeneza darasa la abstract Figure, linawakilisha sura ya kijiometri Hebu liathiriwe na madarasa kwa duara, mstatili na mraba.

Kiswahili
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Tunatumia kuki kwa ajili ya uendeshaji wa tovuti, uchambuzi na ubinafsishaji. Usindikaji wa data unafanyika kulingana na Sera ya Faragha.
kubali yote sanidi kataa