0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

PHP基礎(10)公開レベル

Last updated at Posted at 2018-10-13

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

アクセス権 説明
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)コンストラクタ]
(https://qiita.com/taka027/items/c1c49c8decd3cea7dbc4)

[PHP基礎(11)変数たち>>]
(https://qiita.com/taka027/items/8beccec15fde098067df)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?