পিএইচপিতে ওওপি ইনহেরিটেন্স期间 কনস্ট্রাক্টর

ইনহেরিটেন্স期间, প্যারেন্টের কনস্ট্রাক্টর ওভাররাইড করা যায়। আসুন একটি উদাহরণ দিয়ে দেখি। ধরুন আমাদের নিম্নলিখিত প্যারেন্ট ক্লাস আছে:

php<?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<?php
  class Student extends User {
    
  }
?>

ধরুন আমরা চাইল্ড ক্লাসে কনস্ট্রাক্টরটি এক্সটেন্ড করতে চাই, এতে অতিরিক্ত প্যারামিটার যোগ করে:

php<?php
  class Student extends User {
    private $year;
    
    public function __construct($name, $surn, $year) {
      
    }
  }
?>

এই ক্ষেত্রে, আমাদের অবশ্যই প্রথম লাইনেই parent::__construct() এর মাধ্যমে প্যারেন্ট কনস্ট্রাক্টর কল করতে হবে:

php<?php
  class Student extends User {
    private $year;
    
    public function __construct($name, $surn, $year) {
      parent::__construct($name, $surn);
    }
  }
?>

parent::__construct() কমান্ডটি মূলত প্যারেন্টের কনস্ট্রাক্টর। সুতরাং, এতে প্রয়োজনীয় প্যারামিটারগুলি পাস করি:

php<?php
  class Student extends User {
    private $year;
    
    public function __construct($name, $surn, $year) {
      parent::__construct($name, $surn);
    }
  }
?>

এখন চাইল্ডে, শিক্ষাবর্ষ চাইল্ডের নিজস্ব প্রপার্টিতে লিখি:

php<?php
  class Student extends User {
    private $year;
    
    public function __construct($name, $surn, $year) {
      parent::__construct($name, $surn);
      $this->year = $year;
    }
  }
?>

শিক্ষাবর্ষের জন্য একটি গেটার তৈরি করি:

php<?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;
    }
  }
?>
Задание 1

ধরুন Employee ক্লাসটি এই পাঠের User ক্লাস থেকে ইনহেরিট করে।

Задание 2

Employee ক্লাসে, প্যারেন্ট কনস্ট্রাক্টর ওভাররাইড করুন, এতে বয়স এবং বেতনের প্যারামিটার যোগ করে।

Задание 3

বয়স এবং বেতনের জন্য গেটার তৈরি করুন।