PHP'de OOP'de Kalıtımda Private Özellikler
Private özellikler kalıtılmaz. Ancak alt sınıf, ebeveynin genel metodları aracılığıyla onları manipüle edebilir. Pratikte görelim. Bir private özelliği ve onun alıcısı (getter) ve ayarlayıcısı (setter) ile aşağıdaki ebeveyn sınıfımız olsun:
<?php
class User {
private $name;
public function setName($name) {
$this->name = $name;
}
public function getName() {
return $this->name;
}
}
?>
Ebeveynden aşağıdaki alt sınıfın türediğini varsayalım:
<?php
class Student extends User {
}
?>
Alt sınıfın bir nesnesini oluşturalım:
<?php
$student = new Student;
?>
Ebeveynin metodunu, onun private özelliğini kaydetmek için kullanalım:
<?php
$student->setName('john');
?>
Ebeveynin metodunu, onun private özelliğini okumak için kullanalım:
<?php
$name = $student->getName();
echo $name;
?>
Aşağıdaki ebeveyn sınıf verilmiştir:
<?php
class User {
private $name;
private $surn;
public function setName($name) {
$this->name = $name;
}
public function getName() {
return $this->name;
}
public function setSurn($surn) {
$this->surn = $surn;
}
public function getSurn() {
return $this->surn;
}
}
?>
Bu ebeveynden kalıtım alan
Employee sınıfını yapın.
Employee sınıfının bir nesnesini oluşturun
ve kalıtılan ayarlayıcı ve alıcı metodları çağırın.
Employee sınıfında aşağıdaki metodu yapın:
<?php
public function getFull() {
return $this->name . ' ' . $this->surn;
}
?>
Metodun kodunun bir hataya yol açtığından emin olun.