পিএইচপিতে ওওপি ইনহেরিটেন্স期间 কনস্ট্রাক্টর
ইনহেরিটেন্স期间, প্যারেন্টের কনস্ট্রাক্টর ওভাররাইড করা যায়। আসুন একটি উদাহরণ দিয়ে দেখি। ধরুন আমাদের নিম্নলিখিত প্যারেন্ট ক্লাস আছে:
<?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;
}
}
?>
ধরুন প্যারেন্ট ক্লাস থেকে নিম্নলিখিত ক্লাস ইনহেরিট করছে:
<?php
class Student extends User {
}
?>
ধরুন আমরা চাইল্ড ক্লাসে কনস্ট্রাক্টরটি এক্সটেন্ড করতে চাই, এতে অতিরিক্ত প্যারামিটার যোগ করে:
<?php
class Student extends User {
private $year;
public function __construct($name, $surn, $year) {
}
}
?>
এই ক্ষেত্রে, আমাদের অবশ্যই প্রথম লাইনেই
parent::__construct() এর মাধ্যমে প্যারেন্ট
কনস্ট্রাক্টর কল করতে হবে:
<?php
class Student extends User {
private $year;
public function __construct($name, $surn, $year) {
parent::__construct($name, $surn);
}
}
?>
parent::__construct() কমান্ডটি মূলত
প্যারেন্টের কনস্ট্রাক্টর।
সুতরাং, এতে প্রয়োজনীয় প্যারামিটারগুলি পাস করি:
<?php
class Student extends User {
private $year;
public function __construct($name, $surn, $year) {
parent::__construct($name, $surn);
}
}
?>
এখন চাইল্ডে, শিক্ষাবর্ষ চাইল্ডের নিজস্ব প্রপার্টিতে লিখি:
<?php
class Student extends User {
private $year;
public function __construct($name, $surn, $year) {
parent::__construct($name, $surn);
$this->year = $year;
}
}
?>
শিক্ষাবর্ষের জন্য একটি গেটার তৈরি করি:
<?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 ক্লাসটি এই পাঠের
User ক্লাস থেকে ইনহেরিট করে।
Employee ক্লাসে, প্যারেন্ট
কনস্ট্রাক্টর ওভাররাইড করুন, এতে
বয়স এবং বেতনের প্যারামিটার যোগ করে।
বয়স এবং বেতনের জন্য গেটার তৈরি করুন।