0
1

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基礎(9)コンストラクタ

Last updated at Posted at 2018-10-13

#コンストラクタ
コンストラクタとはオブジェクトをインスタンス化するときに初回だけ呼び出される特別なメソッドです。newを使った直後に、そのオブジェクトの初期化として呼び出されます。
コンストラクタは省略可能です。
PHPの場合、名称は固定的に__constructとします。
メソッドと違う点は戻り値を返せません。メソッドと同じ点は引数を渡せるところです。

<?php
class Figure {
  function __construct($v) {
    echo "頂点の数は$v";
  }
}

$n = new Figure(3);
?>

コンストラクタは、インスタンスの初期状態を決めるために使われます。
上の例では、図形クラスFigureが最初に頂点数$vをもらってインスタンス化されています。頂点数を初期時に決めることで図形クラスが三角形を扱うオブジェクトになったとも言えます。(もちろん、実務的にはもっと多くのコードを書いてより図形の振る舞いを実現できるクラスにする必要がありますが)

言わばインスタンス(オブジェクト)は初期値をもらって生まれ、活動し、死んでいく存在です。
オブジェクト指向的考え方として、オブジェクトのライフサイクルを設計し、クラスをプログラミングする時にコンストラクタで初期値として何をもらって、どのようにオブジェクトの最初の状態を決めるか、そこから始めるといいと思います。ちょうどコンストラクタはオブジェクトの始まりでもありますし。

#演習
【演習2−1】
自分の好きな物をターゲットにして適当なクラスを定義し、そこにコンストラクタを用意して、クラスがインスタンス化されるときにそのコンストラクタが呼び出されていることを確認するプログラムを作成してください。

【演習2−2】
【演習2−1】で作成したコード内に新しいインスタンスメソッドを作り、自由な引数を受け取り、戻り値を文字列として任意の文字列を返すようにし、そのメソッドを呼び出して戻り値を確認できるプログラムを作成してください。

【演習2−3】
【演習2−2】で作成したコード内に新しいクラスメソッドを作り、自由な引数を受け取り、戻り値を数値として任意の値を返すようにし、そのメソッドを呼び出して戻り値を確認できるプログラムを作成してください。

[<<PHP基礎(8)メソッド]
(https://qiita.com/taka027/items/b5170bf702582e214db6)

[PHP基礎(10)公開レベル>>]
(https://qiita.com/taka027/items/7937ad9ea1130d73feb2)

0
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?