⊗ppOpIhCn 30 of 107 menu

Konstruktor pada Pewarisan di OOP dalam PHP

Pada pewarisan, kita dapat mengoverride konstruktor parent. Mari kita lihat pada contoh. Misalkan kita memiliki kelas parent berikut:

<?php class User { private $name; private $surn; public function __construct($name, $surn) { $this->name = $name; $this->surn = $surn; } public function getName() { return $this->name; } public function getSurn() { return $this->surn; } } ?>

Misalkan kelas parent diwarisi oleh kelas berikut:

<?php class Student extends User { } ?>

Misalkan kita ingin dalam kelas turunan memperluas konstruktor, menambahkan parameter tambahan ke dalamnya:

<?php class Student extends User { private $year; public function __construct($name, $surn, $year) { } } ?>

Dalam hal ini, kita harus memanggil konstruktor parent pada baris pertama melalui parent::__construct():

<?php class Student extends User { private $year; public function __construct($name, $surn, $year) { parent::__construct($name, $surn); } } ?>

Perintah parent::__construct() pada dasarnya adalah konstruktor parent. Oleh karena itu kita berikan parameter yang diperlukan ke dalamnya:

<?php class Student extends User { private $year; public function __construct($name, $surn, $year) { parent::__construct($name, $surn); } } ?>

Sekarang di kelas turunan, tahun pembelajaran simpan ke dalam properti milik kelas turunan sendiri:

<?php class Student extends User { private $year; public function __construct($name, $surn, $year) { parent::__construct($name, $surn); $this->year = $year; } } ?>

Mari buat getter untuk tahun pembelajaran:

<?php class Student extends User { private $year; public function __construct($name, $surn, $year) { parent::__construct($name, $surn); $this->year = $year; } public function getYear() { return $this->year; } } ?>

Misalkan kelas Employee mewarisi dari kelas User dari pelajaran ini.

Override dalam kelas Employee konstruktor parent, menambahkan ke dalamnya parameter dengan usia dan gaji.

Buat getter untuk usia dan gaji.

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