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

このメソッドのコードがエラーを引き起こすことを確認してください。