不仅在PHP中,在所有面向对象程序设计语言中,类都是抽象的,对象是类的一个实例。所有抽象就是:”抽取出相像的”。
看一下PHP中的类与对象代码的实现
<?php class Person{ //定义一个叫Person的类 public $name; //声明共有的属性:名字 public function say(){ //声明共有的方法:说话 echo 'saying'; } } ?>构造函数和析构函数
构造函数是在new一个对象的时候执行的方法,析构函数是对象被销毁的时候执行的方法。
对象的销毁可以显式销毁或者等代码页面执行完毕后自动销毁。
<?php class Person{ //定义一个叫Person的类 public $name; //声明共有的属性:名字 public function say(){ //声明共有的方法:说话 echo 'saying'; } public function __construct(){ //固定的__construct声明构造函数 echo 'construct'; //在对象创建时输出 } public function __destruct(){ echo 'destruct'; //对象销毁时输出 } } $a =new Person(); //输出construct //待代码结束后输出 destruct ?>this的绑定
this返回当前绑定的对象。在PHP中如果要在方法体中调用对象中的属性,都要加上this,否则被认为是局部变量。
<?php class Person{ //定义一个叫Person的类 public $name='color'; //声明共有的属性:名字 public function say(){ //声明共有的方法:说话 echo 'saying'; } public function __construct(){ echo $this->name; //输出color,如果是echo $name会报错,因为此时的$name未定义 } } $a=new Person(); ?>