Private egenskaber ved arv i OOP i PHP

Private egenskaber arves ikke. Men efterkommer kan manipulere dem gennem forælderens offentlige metoder. Lad os se på det i praksis. Lad os sige, at vi har følgende forælderklasse med en privat egenskab og dens getter og setter:

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

Lad os sige, at følgende efterkommer arver fra forælderen:

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

Lad os oprette et objekt af efterkommeren:

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

Lad os bruge forælderens metode for at skrive til dens private egenskab:

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

Lad os bruge forælderens metode for at læse dens private egenskab:

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

Følgende forælderklasse er givet:

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

Lav klassen Employee, som skal arve fra denne forælder.

Задание 2

Opret et objekt af klassen Employee og kald de arvede setters og getters.

Задание 3

I klassen Employee skal du lave følgende metode:

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

Vær sikker på, at koden i metoden vil føre til en fejl.