类和对象

  • 03月22日
  • 820

理解面向对象程序设计的第一障碍是类和对象之间的奇妙关系。

编写第一个类

简单的说,类是用于生成对象的代码模板。我们使用class关键字和一个任意的类名来声明类。

class ShopProduct{
    
}

第一个对象(或两个)

如果类是生成对象的模板,那么对象是根据类中定义的模板所构造的数据。我们使用ShopProduct类作为生成ShopProduct对象的模板。这样做需要使用new操作符。

$product1 = new ShopProduct();
$product2 = new ShopProduct();

我们使用了ShopProduct类作为生成两个ShopProduct对象的模板。虽然它们的功能相同,但是$product1和$product2是由同一个类生成的相同类型的不同对象。在php脚本中创建的每个对象也有唯一的身份(在对象的生命周期中唯一),也就是说,php会在一个进程内重复使用这些身份来访问这些对象。可以通过输出$product1和$product2对象来证明这一点:

var_dump($product1);
var_dump($product2);
object(ShopProduct)#1 (0) { } 
object(ShopProduct)#2 (0) { }