⊗ppOpFnCl 63 of 107 menu

Kelas Abstrak dalam OOP di PHP

Misalkan Anda memiliki kelas User, dan darinya diwarisi kelas Employee dan Student.

Dan diasumsikan bahwa Anda akan membuat objek dari kelas Employee dan Student, tetapi objek dari kelas User - tidak akan, karena kelas ini hanya digunakan untuk mengelompokkan properti dan metode umum untuk turunannya.

Dalam hal ini, Anda dapat secara paksa melarang pembuatan objek dari kelas User, agar Anda atau programmer lain tidak secara tidak sengaja membuatnya di suatu tempat.

Untuk ini, ada yang disebut kelas abstrak. Kelas abstrak adalah kelas yang dimaksudkan untuk diwarisi. Namun, objek dari kelas seperti itu tidak dapat dibuat.

Untuk mendeklarasikan kelas sebagai abstrak, Anda perlu menulis kata kunci abstract pada deklarasinya:

<?php abstract class User { } ?>

Jadi, mari kita tulis implementasi dari kelas abstrak User. Misalkan kelas ini memiliki properti privat name, serta getter dan setter untuknya:

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

Upaya untuk membuat objek dari kelas User akan menyebabkan error:

<?php $user = new User; // akan menghasilkan error ?>

Namun, mewarisi dari kelas kita akan mungkin. Mari buat kelas Employee yang mewarisi dari kelas abstrak kita User:

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

Mari buat objek dari kelas Employee - semua akan bekerja:

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

Buatlah kelas abstrak Figure, yang merepresentasikan sebuah bentuk geometris. Misalkan kelas untuk lingkaran, persegi panjang, dan persegi mewarisi darinya.

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