Ominaisuusgetterit OOP:ssa PHP:ssä

Oletetaan, että meillä on seuraava luokka yksityisillä ominaisuuksilla:

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

Kuten näet, nämä ominaisuudet asetetaan kerran olion luonnin yhteydessä. Nyt kuitenkaan niitä ominaisuuksia ei ole mahdollista lukea, sillä ne ovat yksityisiä eikä ole vastaavia menetelmiä tätä varten.

Tehdään ominaisuuksillemme erityisiä menetelmiä, jotka mahdollistavat näiden ominaisuuksien lukemisen. Tällaisia menetelmiä (joita kutsutaan gettereiksi) yleensä alkavat sanalla get, jota seuraa luettavan ominaisuuden nimi.

Tehdään ominaisuuksiemme getterit:

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

Testataan niiden toimintaa. Luodaan olio, välittämällä parametrina käyttäjän tiedot:

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

Luetaan nämä tiedot hyödyntämällä gettereitä:

php<?php
  var_dump($user->getName());
  var_dump($user->getSurn());
?>
Задание 1

Luokassa Employee tee kolme yksityistä ominaisuutta: nimi, palkka ja ikä.

Задание 2

Välitä konstruktorin parametrina näiden ominaisuuksien arvot.

Задание 3

Tee getterit, jotka tulostavat jokaisen ominaisuuden arvot.