PHP

PHP基礎(10)公開レベル


公開レベル

クラスのなかで定義されたメソッドや変数に対し、外からのアクセスを制限することができます。

アクセス権
説明

public
クラスの外からでもアクセス可能

private
定義されたクラス内でのみアクセス可能

protected
定義されたクラス内、あるいはそのクラスを継承した子クラスからアクセス可能

<?php

class Book {
function begin(){ //アクセス権を省略するとpublicメソッドで定義される
echo "国境の長いトンネルを抜けると雪国であった。";
}
private function neko(){
echo "吾輩は猫である。";
}
}

$b = new Book();
$b->begin();
$b->neko();//ここでエラーになります。
?>


演習

【演習2-4】

自動車クラスCarを1つ作り、「走る」「止まる」「給油」というpublicメソッドを実装したクラスを作成してください。

【演習2-5】

【演習2-4】で作成したCarを継承したセダンクラスSedanとトラッククラスTrackを作成し、それぞれのクラスで、「走る」「止まる」「給油」という親のメソッドをオーバーライドしてparentを使って親クラスのメソッドを呼び出しつつ子クラスのメソッドとして「走る」「止まる」「給油」を実装して、インスタンス化して挙動を確認してください。

【演習2-6】

【演習2-5】で作成した継承関係を使って、親クラスの各メソッドのアクセス権をprivateやprotectedに変更して、どのアクセス権の時エラーが出るか実験してください。

<<PHP基礎(9)コンストラクタ

PHP基礎(11)変数たち>>