PHP クラスとコンストラクタのサンプル

PHPのクラスとコンストラクタのサンプルです。

確認環境
・PHP 7.1.8

目次

クラスからオブジェクト(インスタンス)を生成するイメージ

クラスからオブジェクト(インスタンス)を生成するイメージです。
例えると、クラスは型枠でオブジェクトは実体です。
new演算子を使用してオブジェクト(インスタンス)を生成します。インスタンス化するといいます。

 

クラスのサンプル

2-17行目がクラスです。
4行目は、クラスのメンバ変数(プロパティ)です。
privateは、クラスの外部からアクセスできません。
7,13行目は、クラスのメソッド(関数)です。
publicは、クラスの外部からアクセスできます。
9,15行目の$this->は、自クラスの変数や関数を指定します。
9行目は、引数($name)の値を、自クラスのメンバ変数($this->name)にセットします。
15行目は、自クラスのメンバ変数($this->name)の値をメソッドの呼び出し元に返します。
19-21行目は、2行目のクラスのオブジェクト(インスタンス)を3つ生成しています。
構文は、変数 = new クラス名です。
24-26行目は、オブジェクトに値をセットしています。
28-30行目は、オブジェクトから値を取得して表示しています。
構文は、変数 -> メソッド名です。
<?php
class Color
{
	private $name;

	// nameを設定	
	public function setName($name)
	{
		$this->name = $name;
	}

	// nameを取得
	public function getName()
	{
		return $this->name;
	}
}
	//オブジェクトを生成
	$cr1 = new Color();
	$cr2 = new Color();
	$cr3 = new Color();

	//オブジェクトのメソッドを使用
	$cr1->setName("赤");
	$cr2->setName("黄");
	$cr3->setName("青");

	print $cr1->getName(); //赤
	print $cr2->getName(); //黄
	print $cr3->getName(); //青
?>

 

コンストラクタのサンプル

コンストラクタは、オブジェクト(インスタンス)を生成する時に呼ばれて実行します。

コード

2-17行目はクラスです。
7行目がコンストラクタです。__constructという名前にします。constructの前にアンダースコアが2つ付いています。
19行目でオブジェクトが生成されると7行目のコンストラクタが呼ばれて引数の値(オレンジ)が4行目のメンバ変数にセットされます。

<?php
class Color
{
	private $name;

	// コンストラクタ
	public function __construct($name)
	{
		$this->name = $name;
	}

	// nameを取得
	public function getName()
	{
		return $this->name;
	}
}
	//オブジェクトを生成
	$cr1 = new Color("オレンジ");

	//オブジェクトのメソッドを使用
	print $cr1->getName(); //オレンジ
?>

リンク

以下は、PHPマニュアルのクラスのリンクです。
http://php.net/manual/ja/language.oop5.basic.php

以下は、PHPマニュアルのコンストラクタのリンクです。
http://php.net/manual/ja/language.oop5.decon.php

関連の記事

PHP クラスの継承とオーバーライドのサンプル

△上に戻る