পিএইচপিতে ওওপি-তে ইনহেরিটেন্সের সময় প্রাইভেট মেথড
প্রাইভেট মেথডগুলি ইনহেরিট হয় না। এটি ইচ্ছাকৃতভাবে করা হয়েছে যেন এনক্যাপসুলেশন লঙ্ঘন না হয়। আসুন একটি উদাহরণ দিয়ে দেখি। ধরুন আমাদের নিম্নলিখিত প্যারেন্ট ক্লাস আছে একটি প্রাইভেট মেথড সহ:
<?php
class User {
private $name;
public function setName($name) {
$this->name = $name;
}
public function getName() {
return $this->capeFirst($this->name);
}
private function capeFirst($str) {
return ucfirst($str);
}
}
?>
ধরুন প্যারেন্ট ক্লাস থেকে নিম্নলিখিত ক্লাসটি ইনহেরিট করেছে:
<?php
class Student extends User {
private $surn;
public function setSurn($surn) {
$this->surn = $surn;
}
public function getSurn() {
return $this->surn;
}
}
?>
ধরুন চাইল্ড ক্লাসটি ব্যবহার করতে চায় প্যারেন্টের প্রাইভেট মেথড। পিএইচপি এটি অনুমতি দেবে না এবং একটি ত্রুটি দেবে:
<?php
class Student extends User {
private $surn;
public function setSurn($surn) {
$this->surn = $surn;
}
public function getSurn() {
return $this->capeFirst($this->surn); // একটি ত্রুটি হবে
}
}
?>
Employee ক্লাসে প্যারেন্টের প্রাইভেট মেথডটি
ব্যবহার করার চেষ্টা করুন।