⊗ppOpFnCl 63 of 107 menu

Kelas Abstrak dalam OOP dalam PHP

Katakan anda mempunyai kelas User, dan daripadanya diwarisi kelas Employee dan Student.

Pada masa yang sama, diandaikan bahawa anda akan mencipta objek kelas Employee dan Student, tetapi objek kelas User - tidak akan, kerana kelas ini digunakan hanya untuk mengumpulkan sifat dan kaedah umum bagi pewarisnya.

Dalam kes ini, boleh untuk secara paksa melarang penciptaan objek kelas User, supaya anda atau pengaturcara lain di suatu tempat tidak secara tidak sengaja menciptanya.

Untuk ini wujud apa yang dipanggil kelas abstrak. Kelas abstrak mewakili kelas yang bertujuan untuk diwarisi daripadanya. Pada masa yang sama, objek kelas sedemikian tidak boleh dicipta.

Untuk mengisytiharkan kelas sebagai abstrak, perlu menulis kata kunci abstract semasa pengisytiharannya:

<?php abstract class User { } ?>

Jadi, mari kita tulis pelaksanaan kelas abstrak User. Katakan ia mempunyai sifat persendirian name, dan juga getter dan setter untuknya:

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

Cubaan untuk mencipta objek kelas User akan menyebabkan ralat:

<?php $user = new User; // akan memberikan ralat ?>

Tetapi mewarisi daripada kelas kami akan boleh. Mari buat kelas Employee, yang akan mewarisi daripada kelas abstrak kami User:

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

Mari cipta objek kelas Employee - semua akan berfungsi:

<?php $employee = new Employee; $employee->setName('john'); // kaedah induk, iaitu kelas User $employee->setSalary(1000); // kaedah sendiri, iaitu kelas Employee echo $employee->getName(); // akan memaparkan 'john' echo $employee->getSalary(); // akan memaparkan 1000 ?>

Buat kelas abstrak Figure, mewakili bentuk geometri. Katakan daripadanya diwarisi kelas untuk bulatan, segi empat tepat dan segi empat sama.

Melayu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan kuki untuk operasi laman web, analisis dan personalisasi. Pemprosesan data dijalankan mengikut Polisi Kerahsiaan.
terima semua tataletak tolak