php反序列化--前置知识

🎼个人主页:金灰

😎作者简介:一名简单的大一学生;易编橙·终身成长社群的嘉宾.✨

专注网络空间安全服务,期待与您的交流分享~

感谢您的点赞、关注、评论、收藏、是对我最大的认可和支持!❤️

🍊易编橙·终身成长社群🍊 : http://t.csdnimg.cn/iSLaP 期待您的加入~

免责声明:本文仅做分享...

目录

类与对象

属性的权限-划分:

类的继承:

例:

方法的属性修饰符:

方法的修饰:

static修饰

final修饰

类的分类:

1 普通类 没有任何修饰

2 抽象类

3 接口 interface

4 trait

5 匿名类


类与对象

//用户类--属性和方法的集合
class  user{
    public $username;  //共有属性
    private $password; //私有属性
    //公共方法
    public login(){
    	echo $this->password;
    }
    //公共方法
    public logout(){
    
    }
    }
// ------------
class  user{
    public $username;  //共有属性
    private $password; //私有属性
    protected $userType;
    public static $platform="ctf";

    //公共方法
    public login(){
        echo $this->password;
    }

    //公共方法
    public logout(){

    }

}

类的定义,我们可以认为是设计图.

类的对象-
//实例化一个类 --> 从设计图转换为一个可以用的变量,变量类型不再是字符串或者数字,而是一个对象.
$u = new user(); 每个对象中,静态属性值,不变
$p = new user();

$u->username;
$p->username;
//外部不能直接引用password		 (private $password; //私有属性

类和对象的关系,类似于  设计图(蓝图) 与 生成出的产品 之间的关系.
一个设计图(类)-->多个产品(对象)

属性的权限-划分:

1 public 权限 外部可以通过箭头访问到
2 private 权限 内部通过 $this->username 访问到
3 protected 权限 表示 自身及其子类 和父类 能够访问

类的继承:

例:

普通用户    vip用户   管理员用户
-->都属于user类  
//通过extends直接继承(获得)类的内容
class normalUser extends user{
    public $score;

    public function play(){
       echo  $this->userType;
    }
}
$n = new normalUser();

----------
class vipUser extends user{
    public $score;
}

----------
class adminUser extends user{
    public $score;
}

方法的属性修饰符:

public 
private
protected

方法的修饰:

静态属性   static   //一旦修饰为静态,就写死了,不能改. --修饰方法的话,直接通过类名调用.
final属性   final   //修饰方法时,父类的方法>子类的方法. 

static修饰

 


 

final修饰

class  user{
    public $username;  //共有属性
    private $password; //私有属性
    protected $userType;
    public static $platform="ctf";
	
	public function __construct($username,$password){  //类的构造方法
		$this->username = $username;
		$this->password = $password;
	}
    //公共方法
    public final function login(){
        echo $this->password;
    }

    //公共方法
    public function logout(){

    }

}
class normalUser extends user{
    public $score;

    public function play(){
       echo  $this->userType;
    }
}
public function login(){
	echo "i am normalUser";
}
//类的静态方法
public static function go(){
echo "gogoog!";
}
}
$n = new normalUser("admin","admin666");
$n->login();


$n = new normalUser("admin","admin666");
$n->login();


类的分类:

1 普通类 没有任何修饰

class user{
    public function login(){
        
    }

    public function logout(){

    }
}

2 抽象类

// 类里面有一个abstract方法就是抽象类.(只定义无内容)
abstract class user{  //对类也进行标识.
    
    public function login(){

    }

    public function logout(){

    }

    abstract function play();
}

类里面的方法,有些是有详细的实现,有些就只有个方法名字,没具体实现.
抽象类 不能被 new 也就是不能被直接 实例化对象.
-> 在父子类中,父类用的抽象方法,子类就必须要声明其方法的实现,
--不想实现的话,子类就把自己也变成抽象类(抽象方法)

3 接口 interface

(所有方法都是抽象方法时就不需要写abstract )
接口-->为了实现多继承效果

class xxx extends user implements 接口   // 可以实现多个接口

interface service1(){
    
}
interface service2(){
    
}
    
class xxx extends user implements service1,service2{
    
}

4 trait

(php5.4之后)
可以认为是代码段 ,方便复制粘贴
// 用于普遍操作,
//一般不涉及类的属性的读取操作--不使用属性
trait math{
    function add(){
        
    }
    function mub(){
        
    }
    
}    
    
class xxx(){
    use math; 
}    

5 匿名类

不打算用/用1次..
//一次性匿名类的例子(类名都不配拥有,给你个属性直接调用)
$v->play(new class{
    public $username="我是匿名类";
});

$a = new class{
    public $name="1";
    public $passwd="大";
}
//类似于 data伪协议.

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

金灰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值