Private egenskaper i OOP i PHP

Objektegenskaper som kan leses og skrives utenfra, kalles offentlige. Det finnes også private egenskaper, som kun vil være tilgjengelige inni klassen.

Navn på private egenskaper må deklareres med tilgangsmodifikatoren private. La oss gjøre dette:

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

La oss nå skrive data til vår egenskap. Dette kan gjøres for eksempel i konstruktøren til klassen:

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

La oss lage en metode som vil returnere verdien av vår egenskap:

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

La oss opprette et objekt av klassen, og sende brukernavn som parameter:

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

Et forsøk på å aksessere direkte vår egenskap utenfor klassen vil føre til feil:

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

Og et kall til vår metode vil tillate å lese denne egenskapen:

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

I klassen Employee, lag tre private egenskaper: navn, lønn og alder.

Задание 2

Send verdiene for disse egenskapene som parameter til konstruktøren.

Задание 3

Lag en metode som vil skrive ut dataene til arbeidstakeren.