我正在阅读几本关于 PHP 的书籍并开始着手掌握基础知识。我遇到了“实例化”和“初始化”的词。我找不到解释它们的例子。
PHP中的“实例化”和“初始化”有什么区别?他们的意思是什么 ?如何使用它们?使用它们的目的是什么?
如果可能,请提供一个示例。
你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。
在阅读 Barts Answer 之后添加,面向对象编程通常指的是分配内存的对象的实例,而变量被称为初始化,这意味着分配的内存并分配了一个值。
所以例如
int $intarray=new Array(); // Instance created
尽管
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";
只是为了在初始化中添加另一点,请参见上面类中的变量。实例化对象后,这些变量将自动初始化。
希望这可以帮助。