⊗ppOpFnMt 64 of 107 menu

Metode Abstrak dalam OOP di PHP

Kelas abstrak juga dapat berisi metode abstrak. Metode seperti ini tidak boleh memiliki implementasi, dan diperlukan untuk menunjukkan bahwa metode tersebut harus ada pada kelas turunannya. Dan sebenarnya implementasi metode tersebut sudah menjadi tugas kelas turunannya.

Untuk mendeklarasikan sebuah metode sebagai abstrak, pada deklarasinya harus ditulis kata kunci abstract.

Mari kita coba dalam praktik. Misalkan diasumsikan, bahwa semua kelas turunan dari kelas User harus memiliki metode increaseRevenue.

Metode ini harus mengambil pendapatan pengguna saat ini dan meningkatkannya sejumlah nilai tertentu, yang diteruskan melalui parameter.

Kelas User itu sendiri tidak tahu, pendapatan seperti apa yang akan diterima oleh kelas turunannya - karena bagi pekerja ini adalah gaji, sedangkan bagi mahasiswa - ini adalah beasiswa. Oleh karena itu setiap kelas turunan akan mengimplementasikan metode ini dengan caranya sendiri.

Intinya di sini adalah bahwa metode abstrak dari kelas User memaksa programmer untuk mengimplementasikan metode ini dalam kelas turunannya, jika tidak PHP akan menampilkan error. Dengan demikian Anda, atau programmer lain, yang bekerja dengan kode Anda, tidak akan mungkin lupa untuk mengimplementasikan metode yang diperlukan pada kelas turunan.

Jadi, mari kita coba dalam praktik. Mari tambahkan metode abstrak increaseRevenue ke dalam kelas User:

<?php abstract class User { private $name; public function getName() { return $this->name; } public function setName($name) { $this->name = $name; } // Metode abstrak tanpa badan: abstract public function increaseRevenue($value); } ?>

Misalkan kelas Employee kita untuk sini dibiarkan tanpa perubahan. Dalam hal ini, bahkan jika tidak membuat objek dari kelas Employee, tetapi hanya menjalankan kode yang mendefinisikan kelas-kelas kita - PHP akan menampilkan error.

Sekarang mari kita tulis implementasi metode increaseRevenue dalam kelas Employee:

<?php class Employee extends User { private $salary; public function getSalary() { return $this->salary; } public function setSalary($salary) { $this->salary = $salary; } // Tulis implementasi metode: public function increaseRevenue($value) { $this->salary = $this->salary + $value; } } ?>

Mari kita periksa kerja kelas kita:

<?php $employee = new Employee; $employee->setName('john'); $employee->setSalary(1000); $employee->increaseRevenue(100); echo $employee->getSalary(); ?>

Mari implementasikan metode increaseRevenue juga dalam kelas Student. Hanya saja sekarang metode kita akan meningkatkan beasiswa:

<?php class Student extends User { private $scholarship; // beasiswa public function getScholarship() { return $this->scholarship; } public function setScholarship($scholarship) { $this->scholarship = $scholarship; } // Metode meningkatkan beasiswa: public function increaseRevenue($value) { $this->scholarship = $this->scholarship + $value; } } ?>

Tambahkan ke dalam kelas User Anda metode abstrak increaseRevenue yang sama. Tulis implementasi metode ini dalam kelas Employee dan Student.

Dalam kelas Figure buatlah metode abstrak untuk mendapatkan luas dan keliling bangun datar.

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