PHP面向对象
面向对象面向过程
对象:一切皆是对象,由类实例化出来的。
类:由众多对象抽象出来的。
定义类
class Hero{
成员变量(一般是定性的值)
public $name;
private $blood; //私有成员
protected //受保护的
public //公有的
成员属性(php里面不存在)
成员方法&&函数(第一个首字母大写。如果两个单词构成,第一个字母小写,后面的单词首字母大写,驼峰法命名)
function Run(){
echo $this->name."跑";
}
}
类里面的成员是属于对象的,this关键字代表该对象,谁过来调用方法,该对象就代表谁。例如在此处代表$sk
使用类:实例化。
$sk = new Hero();
$sk->name = "沙王";
echo $sk->name;
$sk->Run();
访问修饰符
private 私有的 加之前要把var去掉 只能在该类里面访问
protected 受保护的 在该类里面可以访问 在该类的子类里面也可以访问
public 公有的,在任何地方都可以访问
class Hero{
public $name;
public $blood;
public $sex;
public function __construct($s){
$this->sex = $s;
}
public function __destruct(){
echo "析构函数";
}
}
$h = new Hero("田力");
echo $h->sex;
构造函数
特点:写法特殊(类名必须保持一致),执行时间特殊(造对象的时候就会执行)
作用:对类里面的某些成员进行初始化
爽下划线打头的方法称作魔术方法
面向对象
面向对象的三大特性
封装 继承 多态
封装
class Ren{
public $name;
private $age;
给变量赋值的魔术方法
public function __set($n,$v){
$this->$n = $v;
}
取变量值的魔术方法
public function __get($n){
return $this->$n;
}
}
$r = new Ren();
$r->name = "诸葛亮";
echo $r->name;
1。将成员变量变为私有
2。做一个函数来间接操作
3。在该方法里面加限制条件
目的:为了使类更安全