PHP'de OOP'de Kalıtım Sırasında Yapıcı Metot
Kalıtım sırasında ebeveynin yapıcı metodunu geçersiz kılabilirsiniz. Bir örnek üzerinden inceleyelim. Aşağıdaki gibi bir ebeveyn sınıfımız olsun:
<?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;
}
}
?>
Ebeveyn sınıftan aşağıdaki sınıfın kalıtım aldığını varsayalım:
<?php
class Student extends User {
}
?>
Alt sınıfta yapıcıyı genişletip, ona ek parametreler eklemek istediğimizi varsayalım:
<?php
class Student extends User {
private $year;
public function __construct($name, $surn, $year) {
}
}
?>
Bu durumda ilk satırda ebeveynin yapıcısını
parent::__construct() ile çağırmamız
kesinlikle gerekli:
<?php
class Student extends User {
private $year;
public function __construct($name, $surn, $year) {
parent::__construct($name, $surn);
}
}
?>
parent::__construct() komutu aslında
ebeveynin yapıcı metodudur. Bu nedenle
gerekli parametreleri ona iletilim:
<?php
class Student extends User {
private $year;
public function __construct($name, $surn, $year) {
parent::__construct($name, $surn);
}
}
?>
Şimdi alt sınıfta eğitim yılını alt sınıfın kendi özelliğine yazalım:
<?php
class Student extends User {
private $year;
public function __construct($name, $surn, $year) {
parent::__construct($name, $surn);
$this->year = $year;
}
}
?>
Eğitim yılı için bir alıcı metot yapalım:
<?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;
}
}
?>
Employee sınıfının bu dersteki
User sınıfından kalıtım
aldığını varsayalım.
Employee sınıfında ebeveyn
yapıcısını, yaş ve maaş parametreleri
ekleyerek geçersiz kılın.
Yaş ve maaş için alıcı metotlar yapın.