8

私はPHPに関する本を何冊か読んでいて、基本を理解するためにじっと見つめています。「インスタンス化された」と「初期化された」という言葉に出くわしました。それらを説明する例が見つかりません。

PHPの「インスタンス化」と「初期化」の違いは何ですか?それらはどういう意味ですか?それらの使い方は?それらを使用する目的は何ですか?

可能であれば例を挙げてください。

4

3 に答える 3

16

あなたinstantiateはクラスのオブジェクトです。instanceつまり、(名前の由来)を作成します。コード内:

$obj = new SomeClass();   

あなたinitialiseは変数です。これは、「初期値(したがって名前)を与える」ことを意味します。

$var = "someValue";

実際、instantiateあなたはしばしばinitialiseそれも(コンストラクターで)するとき。例えば:

// this instantiates an object of class 'SomeClass' and 
// initialises it with "somevalue"
$obj = new SomeClass("someValue"); 

インスタンス化は、オブジェクト指向プログラミングの用語です。初期化はすべての言語で使用されます。どちらの用語も PHP に限定されるものではありません。

于 2013-01-29T16:31:57.310 に答える
2
  1. インスタンスは、変数にメモリを割り当てた場所ですが、そこに値を配置した場合と配置しなかった場合があります。
  2. Initialized は、メモリを割り当て、初期値も保存した場所です。

バーツの回答を読んだ後に追加するだけで、オブジェクト指向プログラミングは通常、メモリが割り当てられているオブジェクトに関してインスタンスを参照し、変数は初期化されていると言われています。これは、メモリが割り当てられ、値も割り当てられていることを意味します。

たとえば

int $intarray=new Array(); // Instance created

その間

int $intarray= new Array({1,2,3}); // instance created and initialised
于 2013-01-29T16:36:52.467 に答える
2

オブジェクト指向プログラミング言語でクラスを定義する場合、オブジェクトの青写真を作成しますが、オブジェクトは存在しません。しかし、定義されたクラスまたは設計図に基づいてそのオブジェクトのコピーを作成すると、実際にはクラスがインスタンス化されます。例えば:

// Foo というクラスを定義します

class Foo {
    public $aMemberVar = 'aMemberVar Member Variable';
    public $aFuncName = 'aMemberFunc';


    function aMemberFunc() {
        print 'Inside `aMemberFunc()`';
    }
}

// Foo 型のオブジェクトを作成 * Foo をインスタンス化

$foo = new Foo;

Initialized については、任意の変数を検討してください。変数を宣言すると、変数はそこにありますが、意味のある値は保持されません。したがって、変数に初めて値を割り当てるプロセスは、初期化として知られています。初期化は、変数の宣言時に行われる場合もあれば、後でプログラムによって行われる場合もあります。

変数を宣言するだけです:

var $newVariable;

上記の変数を初期化します。

$newVariable = "This is intialisation";

変数を宣言して初期化します。

var $intialisedVar = "This var is declared and intialised";

初期化にもう 1 つポイントを追加するには、上記のクラスの変数を参照してください。これらの変数は、オブジェクトをインスタンス化するとすぐに自動的に初期化されます。

お役に立てれば。

于 2013-01-29T16:52:10.293 に答える