面向过程:代码重用性低。
面向对象
两个核心概念:
类:由众多对象抽象出来的东西
对象:一切皆对象。由类实例化出来的
类的定义:根据要研究的对象综合提炼出类class Ren{
var $code; //成员变量 var $name; //姓名 var $sex; //性别 var $birthday; //生日
public function say(){
echo "{$this->name}说话!";
}
}
类里面的所有的变量或函数都称作类的成员
访问修饰符:
public 公有的。成员在任何地方可以访问。
protected 受保护的。成员只能在类内和子类中访问,在外界无法访问。
private 私有的。成员只能在该类访问
使用类:
实例化对象:
$r = new Ren();
$r1 = new Ren();
操作对象的成员变量:
$r->code = "p001";
类里面的成员是属于对象的。
操作对象的成员方法:
$r->say();
$this写在类里面代表该对象
public function say(){ echo "{$this->name}说话!"; }
构造函数:生成对象的函数。
class Ren{
public function Ren(){ //写法1 } public function __construct(){ //双下划线,经常用
}
}
特点:1.写法特殊。
2.执行特殊。在创建新对象时自动执行。
应用:为对象进行初始化
class Ren{
.......
public function __construct($sex){ $this->sex = $sex; }
}
$r = new Ren("男");
研究一个类首先研究构造函数。
析构函数:在对象销毁之前自动调用。用的很少。
public function __destruct(){ echo "对象销毁了"; }