PHPにおけるクラス定義メモ

Publish:

Category:PHP

Tag:

  • Hatena Bookmark:
  • Twitter:

PHPでオブジェクト指向プログラミングする時のメモ。

ページ内見出し一覧

クラスの定義

class クラス名(任意) {
	//実装したい処理
}

コンストラクタの宣言

インスタンス化と同時に実行される処理。

class MyClass {
	public function __construct() {
		//実装したい処理
	}
}

プロパティの追加

public(もしくはvar)/private/protectedを指定することにより定義できる。

public(もしくはvar) どこからでもアクセス可能。
protected そのクラス自身と継承したクラス、親クラスからのみアクセス可能。
private 定義したクラスからのみアクセス可能。
class MyClass {
	public $public = "Public";
	protected $protected = "Protected";
	private $private = "Private";
}

メソッドの追加

public/private/protectedを指定することにより定義できる。
明示せずに宣言したメソッドは、publicになる。

public(もしくはvar) どこからでもアクセス可能。
protected そのクラス自身と継承したクラス、親クラスからのみアクセス可能。
private 定義したクラスからのみアクセス可能。
class MyClass {
	// publicメソッドの宣言
	public function MyPublic() {
		//実装したい処理
	}
	// protectedメソッドの宣言
	protected function MyProtected() {
		//実装したい処理
	}
	// privateメソッドの宣言
	private function MyPrivate() {
		//実装したい処理
	}
}

クラスの継承

class MyClass2 extends MyClass {
	//実装したい処理
}

プロパティや定数、メソッドへのアクセス方法

$this->property (propertyはプロパティの名前)
クラスメソッドからプロパティや定数、メソッドにアクセスする場合
self::$property
静的なクラスメソッドの中から静的なプロパティ(static、定数およびオーバーライドされたクラスのプロパティやメソッド)にアクセスする場合

staticキーワード

クラスプロパティもしくはメソッドをstaticとして宣言することで、クラスのインスタンス化の必要なしにアクセスすることができる。

class MyClass {
	public static $public = "Public";
	public static function MyPublic() {
		//実装したい処理
	}
}
MyClass::$public;
MyClass::MyPublic();

Comment [2]

>public(もしくはvar) どこからでもアクセス可能。
private そのクラス自身と継承したクラス、親クラスからのみアクセス可能。
protected 定義したクラスからのみアクセス可能。

privateとprotectedが逆になってますよ。

1000_VICKY

あわわ。本当ですね、逆になってる…
ご指摘有り難うございました!

indigo

Post Comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Return to page top