我正在阅读一些关于PHP的书籍,开始学习基础知识。我遇到了“实例化”和“初始化”这两个词。我找不到一个能解释它们的例子。
在PHP中,“实例化”和“初始化”的区别是什么?它们的含义是什么?如何使用它们?使用它们的目的是什么?
如果可能,请提供一个例子。
$obj = new SomeClass();
你需要给一个变量初始化
,这意味着“给它赋予其初始值(因此得名)”。
$var = "someValue";
// this instantiates an object of class 'SomeClass' and
// initialises it with "somevalue"
$obj = new SomeClass("someValue");
实例化是面向对象编程的术语。初始化在所有语言中都被使用。这两个术语当然不仅限于PHP。
读完Barts的回答后,只想补充一点,面向对象编程通常将对象分配内存称为实例,而将变量称为初始化,这意味着分配内存并分配了一个值。
例如
int $intarray=new Array(); // Instance created
while
int $intarray= new Array({1,2,3}); // instance created and initialised
当你在任何面向对象编程语言中定义一个类时,你创建了一个对象的蓝图,但实际上该对象并不存在。但是,当你根据所定义的类或蓝图创建一个对象的副本时,你实际上实例化了一个类。例如:
// 定义一个名为Foo的类
class Foo {
public $aMemberVar = 'aMemberVar Member Variable';
public $aFuncName = 'aMemberFunc';
function aMemberFunc() {
print 'Inside `aMemberFunc()`';
}
}
// 创建一个类型为Foo的对象 * 实例化Foo
$foo = new Foo;
var $newVariable;
初始化上述变量:
$newVariable = "This is intialisation";
声明并初始化一个变量:
var $intialisedVar = "This var is declared and intialised";
在初始化时,补充另一点,请参阅上面的类中的变量。只要您实例化一个对象,这些变量将自动初始化。
希望这可以帮助到您。