⊗ppOpFnCl 63 of 107 menu

PHP-dä OOP-da Abstrakt Klasslar

Diňleň, siziň User klassyňyz bar we ondan Employee we Student klasslary miras alýar.

Şu ýerde, Employee we Student klasslarynyň obýektlerini döredersiňiz, ýöne User klassyň obýektini döretmersiňiz, sebäbi bu klass diňe öz mirasçylarynyň umumy aýratynlyklary we usullary üçin ulanylýar.

Bu ýagdaýda, User klassyň obýektlerini döretmek mejbur etmeli gadagan edilip bilner, şonuň üçin siz ýa-da başga programmaçy nädogrylyk bilen olary ýerde döretmez.

Bunun üçin abstrakt klasslar diýilýän zat bar. Abstrakt klasslar, olardan miras almak üçin niredelenen klasslardyr. Şu ýagdaýda, şeýle klasslaryň obýektlerini döretmek bolmaýar.

Klassy abstrakt hökmünde yglan etmek üçin, ony yglan edende abstract açar sözüni ýazmaly:

<?php abstract class User { } ?>

Şeýlelik bilen, geliň User abstrakt klassyň amalyna ýazalyň. Oňa hususy aýratynlyk name we onuň üçin getter we setterler bolsun:

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

User klassyň obýektini döretmek synanyşygy ýalňyşlygy döreder:

<?php $user = new User; // ýalňyşlyk berer ?>

Ýöne, bizim klassyňyzdan miras almak mümkin bolar. Employee klassy ýasaýarys, ol bizim User abstrakt klassyňyzdan miras alar:

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

Employee klassyň obýektini döredeliň - hemme zady işler:

<?php $employee = new Employee; $employee->setName('john'); // atanyň usuly, ýagny User klassyň $employee->setSalary(1000); // öz usuly, ýagny Employee klassyň echo $employee->getName(); // 'john' çykarar echo $employee->getSalary(); // 1000 çykarar ?>

Abstrakt Figure klassy ýasaň, geometrik şekili görkezýän. Ondan töwerek, dikdörtgen we inedördül klasslary miras alsyn.

Türkmen
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkçeЎзбекOʻzbekTiếng Việt
Biz sahypanyň işlemegi, analitika we şahsyýetleşdirmek üçin cookie ulanýarys. Maglumatlaryň işlenişi Gizlinlik syýasaty boýunça amala aşyrylýar.
hemmesini kabul et sazlamak ret et