PHP-তে OOP-তে ইনহেরিটেন্সের সময় প্রাইভেট প্রোপার্টি

প্রাইভেট প্রোপার্টি ইনহেরিট হয় না। তবে চাইল্ড ক্লাস প্যারেন্ট ক্লাসের পাবলিক মেথডের মাধ্যমে সেগুলি নিয়ন্ত্রণ করতে পারে। আসুন অনুশীলনে দেখি। ধরুন আমাদের নিম্নলিখিত প্যারেন্ট ক্লাস আছে একটি প্রাইভেট প্রোপার্টি এবং এর গেটার ও সেটার সহ:

php<?php
  class User {
    private $name;
    
    public function setName($name) {
      $this->name = $name;
    }
    public function getName() {
      return $this->name;
    }
  }
?>

ধরুন প্যারেন্ট থেকে নিম্নলিখিত চাইল্ড ক্লাস ইনহেরিট করছে:

php<?php
  class Student extends User {
    
  }
?>

চলুন চাইল্ড ক্লাসের একটি অবজেক্ট তৈরি করি:

php<?php
  $student = new Student;
?>

এর প্রাইভেট প্রোপার্টি সেট করতে প্যারেন্ট ক্লাসের মেথড ব্যবহার করি:

php<?php
  $student->setName('john');
?>

এর প্রাইভেট প্রোপার্টি পড়তে প্যারেন্ট ক্লাসের মেথড ব্যবহার করি:

php<?php
  $name = $student->getName();
  echo $name;
?>
Задание 1

নিম্নলিখিত প্যারেন্ট ক্লাস দেওয়া আছে:

php<?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;
    }
  }
?>

Employee ক্লাসটি তৈরি করুন, যা এই প্যারেন্ট থেকে ইনহেরিট করবে।

Задание 2

Employee ক্লাসের একটি অবজেক্ট তৈরি করুন এবং ইনহেরিটেড সেটার এবং গেটারগুলি কল করুন।

Задание 3

Employee ক্লাসে নিম্নলিখিত মেথডটি তৈরি করুন:

php<?php
  public function getFull() {
    return $this->name . ' ' . $this->surn;
  }
?>

নিশ্চিত করুন যে মেথডের কোডটি একটি ত্রুটির দিকে নিয়ে যায়।