Privaat eienskappe in OOP in PHP

Voorwerpe se eienskappe wat van buite gelees en geskryf kan word, word publiek genoem. Daar bestaan ook privaat eienskappe, wat slegs binne die klas beskikbaar sal wees.

Privaat eienskappe se name moet gedeclareer word met die toegangsmodifiseerder private. Kom ons doen dit:

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

Laat ons nou data in ons eienskap skryf. Dit kan gedoen word, byvoorbeeld, in die konstruktor van die klas:

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

Kom ons maak nou 'n metode wat die waarde van ons eienskap sal teruggee:

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

Kom ons skep 'n voorwerp van die klas, en gee die gebruikersnaam as parameter:

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

'n Poging om direk na ons eienskap buite die klas te verwys, sal tot 'n fout lei:

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

Maar die roeping van ons metode sal toelaat om hierdie eienskap te lees:

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

In die klas Employee, maak drie privaat eienskappe: naam, salaris en ouderdom.

Задание 2

Gee die waardes van hierdie eienskappe as parameter aan die konstruktor.

Задание 3

Maak 'n metode wat die data van die werknemer sal vertoon.