PHP'de OOP'de Kalıtımda Private Özellikler

Private özellikler kalıtılmaz. Ancak alt sınıf, ebeveynin genel metodları aracılığıyla onları manipüle edebilir. Pratikte görelim. Bir private özelliği ve onun alıcısı (getter) ve ayarlayıcısı (setter) ile aşağıdaki ebeveyn sınıfımız olsun:

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

Ebeveynden aşağıdaki alt sınıfın türediğini varsayalım:

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

Alt sınıfın bir nesnesini oluşturalım:

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

Ebeveynin metodunu, onun private özelliğini kaydetmek için kullanalım:

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

Ebeveynin metodunu, onun private özelliğini okumak için kullanalım:

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

Aşağıdaki ebeveyn sınıf verilmiştir:

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

Bu ebeveynden kalıtım alan Employee sınıfını yapın.

Задание 2

Employee sınıfının bir nesnesini oluşturun ve kalıtılan ayarlayıcı ve alıcı metodları çağırın.

Задание 3

Employee sınıfında aşağıdaki metodu yapın:

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

Metodun kodunun bir hataya yol açtığından emin olun.