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

सुनिश्चित करें कि विधि का कोड एक त्रुटि का कारण बनता है।