Pembina dalam Pewarisan OOP dalam PHP
Dalam pewarisan, anda boleh mengatasi pembina induk. Mari kita lihat contohnya. Katakan kita mempunyai kelas induk 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;
}
}
?>
Katakan kelas induk diwarisi oleh kelas berikut:
<?php
class Student extends User {
}
?>
Katakan kita mahu dalam kelas keturunan mengembangkan pembina, menambah parameter tambahan kepadanya:
<?php
class Student extends User {
private $year;
public function __construct($name, $surn, $year) {
}
}
?>
Dalam kes ini, kita perlu
pada baris pertama memanggil pembina
induk 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
pembina induk. Oleh itu,
luluskan parameter yang diperlukan kepadanya:
<?php
class Student extends User {
private $year;
public function __construct($name, $surn, $year) {
parent::__construct($name, $surn);
}
}
?>
Sekarang dalam keturunan, tahun pembelajaran tulis dalam sifat keturunan 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;
}
}
?>
Katakan kelas Employee mewarisi
dari kelas User dalam
pelajaran ini.
Kurangkan dalam kelas Employee
pembina induk, menambah kepadanya
parameter dengan umur dan gaji.
Buat getter untuk umur dan gaji.