PHPにおけるOOPのプライベートプロパティ
外部から読み書きできるオブジェクトのプロパティは、 パブリックと呼ばれます。 また、プライベートプロパティも存在し、 これらはクラス内部でのみアクセス可能です。
プライベートプロパティの名前は、
アクセス修飾子 private を付けて宣言する必要があります。
それでは、これを行いましょう:
<?php
class User {
private $name;
}
?>
次に、このプロパティにデータを書き込みます。 これは、例えばクラスのコンストラクタ内で行うことができます:
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
}
?>
ここで、このプロパティの値を返すメソッドを作成しましょう:
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
public function show() {
return $this->name;
}
}
?>
ユーザー名をパラメータとして渡し、 クラスのオブジェクトを作成しましょう:
<?php
$user = new User('john');
?>
クラスの外部から直接このプロパティに アクセスしようとするとエラーになります:
<?php
echo $user->name; // エラー
?>
一方、このメソッドを呼び出すことで このプロパティを読み取ることができます:
<?php
echo $user->show(); // 'john' を出力
?>
Employee クラスに、
名前、給料、年齢という3つのプライベートプロパティを作成してください。
コンストラクタのパラメータとして これらのプロパティの値を渡してください。
従業員のデータを表示するメソッドを作成してください。