Properti Privat dalam Pewarisan OOP di PHP

Properti privat tidak diwariskan. Namun, kelas turunan dapat memanipulasinya melalui metode publik dari induknya. Mari kita lihat dalam praktiknya. Misalkan kita memiliki kelas induk berikut dengan properti privat serta getter dan setternya:

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

Misalkan dari induknya diwarisi oleh kelas turunan berikut:

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

Mari buat objek dari kelas turunan:

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

Mari gunakan metode dari induk untuk menulis ke properti privatnya:

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

Mari gunakan metode dari induk untuk membaca properti privatnya:

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

Diberikan kelas induk berikut:

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

Buatlah kelas Employee, yang akan mewarisi dari induk ini.

Задание 2

Buat objek dari kelas Employee dan panggil setter serta getter yang diwarisi.

Задание 3

Dalam kelas Employee buatlah metode berikut:

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

Pastikan kode metode tersebut menyebabkan error.