PHPにおけるOOPのプライベートプロパティ

外部から読み書きできるオブジェクトのプロパティは、 パブリックと呼ばれます。 また、プライベートプロパティも存在し、 これらはクラス内部でのみアクセス可能です。

プライベートプロパティの名前は、 アクセス修飾子 private を付けて宣言する必要があります。 それでは、これを行いましょう:

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

次に、このプロパティにデータを書き込みます。 これは、例えばクラスのコンストラクタ内で行うことができます:

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

ここで、このプロパティの値を返すメソッドを作成しましょう:

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

ユーザー名をパラメータとして渡し、 クラスのオブジェクトを作成しましょう:

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

クラスの外部から直接このプロパティに アクセスしようとするとエラーになります:

php<?php
  echo $user->name; // エラー
?>

一方、このメソッドを呼び出すことで このプロパティを読み取ることができます:

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

Employee クラスに、 名前、給料、年齢という3つのプライベートプロパティを作成してください。

Задание 2

コンストラクタのパラメータとして これらのプロパティの値を渡してください。

Задание 3

従業員のデータを表示するメソッドを作成してください。