Metode Privat dalam Pewarisan di OOP PHP
Metode privat tidak diwariskan. Ini sengaja dilakukan agar tidak melanggar enkapsulasi. Mari kita lihat contohnya. Misalkan kita memiliki kelas induk berikut dengan metode privat:
<?php
class User {
private $name;
public function setName($name) {
$this->name = $name;
}
public function getName() {
return $this->capeFirst($this->name);
}
private function capeFirst($str) {
return ucfirst($str);
}
}
?>
Misalkan kelas berikut mewarisi dari kelas induk:
<?php
class Student extends User {
private $surn;
public function setSurn($surn) {
$this->surn = $surn;
}
public function getSurn() {
return $this->surn;
}
}
?>
Misalkan kelas turunan ingin menggunakan metode privat dari induk. PHP tidak akan mengizinkannya dan akan menampilkan error:
<?php
class Student extends User {
private $surn;
public function setSurn($surn) {
$this->surn = $surn;
}
public function getSurn() {
return $this->capeFirst($this->surn); // akan error
}
}
?>
Cobalah di kelas Employee
untuk menggunakan metode privat
induk.