我正在阅读几本关于PHP的书,并开始着眼于掌握基础知识。我遇到了“实例化”和“初始化”的单词。我找不到解释它们的例子。
PHP中“instantiated”和“initialised”有什么区别?他们的意思是什么 ?怎么用?使用它们的目的是什么?
尽可能提供示例。
答案 0 :(得分:15)
您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。
答案 1 :(得分:2)
在阅读Barts之后添加答案回答面向对象编程通常是指对象被分配内存的实例,而变量据说是初始化的,这意味着分配了内存并分配了一个值。
所以例如
int $intarray=new Array(); // Instance created
,而
int $intarray= new Array({1,2,3}); // instance created and initialised
答案 2 :(得分:2)
在任何面向对象的编程语言中定义类时,都会创建对象的蓝色打印,但该对象不存在。但是,当您根据定义的类或蓝色打印创建该对象的副本时,实际上是实例化一个类。例如:
//定义一个名为Foo的类
class Foo {
public $aMemberVar = 'aMemberVar Member Variable';
public $aFuncName = 'aMemberFunc';
function aMemberFunc() {
print 'Inside `aMemberFunc()`';
}
}
//创建Foo * Instantiate Foo
类型的对象$foo = new Foo;
现在对于Initialised,考虑任何变量。声明变量时,它存在,但不包含任何有意义的值。因此,第一次为变量赋值的过程称为初始化。初始化可能在您声明变量时发生,也可能稍后以编程方式发生。
只需声明一个变量:
var $newVariable;
初始化上述变量:
$newVariable = "This is intialisation";
声明并初始化变量:
var $intialisedVar = "This var is declared and intialised";
只是在初始化中添加另一个点,请参阅上面类中的变量。实例化对象后,这些变量将自动初始化。
希望这有帮助。