プロが教えるわが家の防犯対策術!

$hensu = new hello();

このように、初期化の場合、変数に、newを記載してメソッドを記載しますが、
この初期化とは、どういう意味でしょうか。

また、constructを使用するときにも、初期化されるとのことですが、
例えば、
class Man
{
protected $name;

function __construct() {
$this->name = "鈴木";
}
function show() {
echo $this->name;
}
}
のようなコードがあり、ここでの初期化とは、どのような意味でしょうか。

A 回答 (2件)

> $hensu = new hello();


これはhelloクラスのプロパティやメソッドとった機能を操作できるように
インスタンスを生成していることになり、初期化という言葉は使いませんし、
これを行ったからといって何かが初期化されるわけではありません。
一般的にはインスタンス化、実体化と呼びます。
そして$hensuは、helloクラスを扱える『オブジェクト』や『インスタンス』
と呼ばれます。

> __construct()
上述の通りインスタンス化を行った時、クラス内に含まれるコンストラクタと
呼ばれるメソッドが必ず走行します。(記述している場合)
これはインスタンス化した直後のオブジェクトの各プロパティやメソッドを
使えるようにする準備を行うものになります。
一般的には初期化や内部で利用しているオブジェクトの準備、イベントハンドラの
設定などが行われたりします。
ここで初期化を行えば初期化ということになりますが、コンストラクタは
あくまでコンストラクタと呼ばれるものであり、必ず初期化を行うためだけの
メソッドではありません。

例にあるようなコードでは、$nameの既定値として"鈴木"を設定していることになります。
    • good
    • 0

変数宣言時の「代入」だと思ってもらえれば大丈夫かと。


constructは、代入する内容を定義するものです。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!