Privata egenskaper i OOP i PHP

Objektets egenskaper som kan läsas och skrivas utifrån kallas publika. Det finns också privata egenskaper, som endast kommer att vara tillgängliga inuti klassen.

Namn på privata egenskaper måste deklareras med åtkomstmodifieraren private. Låt oss göra det:

php<?php
  class User {
    private $name;
  }
?>

Låt oss nu skriva data till vår egenskap. Detta kan göras till exempel i klassens konstruktor:

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

Låt oss nu skapa en metod som kommer att returnera värdet på vår egenskap:

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

Låt oss skapa ett objekt av klassen, och skicka med användarens namn som parameter:

php<?php
  $user = new User('john');
?>

Ett försök att direkt komma åt vår egenskap utanför klassen kommer att leda till ett fel:

php<?php
  echo $user->name; // fel
?>

Medan ett anrop av vår metod kommer att möjliggöra att läsa denna egenskap:

php<?php
  echo $user->show(); // skriver ut 'john'
?>
Задание 1

I klassen Employee, skapa tre privata egenskaper: namn, lön och ålder.

Задание 2

Skicka värdena för dessa egenskaper via konstruktorn som parameter.

Задание 3

Skapa en metod som skriver ut anställdas data.