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。在该方法里面加限制条件
目的:为了使类更安全

原文地址:https://www.cnblogs.com/sunzhenkun/p/7426412.html