PHP题(类)

本文探讨了PHP中的类权限控制,包括public、protected和private修饰符的作用。同时,比较了接口和抽象类的异同,强调了它们在代码抽象和复用中的角色。此外,还提及了魔术方法的概念,并预告了设计模式的相关内容,如工厂模式、单例模式等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. PHP 类权限控制修饰符
    public 外部,内部,子类使用
    protected 内部,子类使用
    private 内部使用

  2. 接口和抽象类的区别
    相同点
    a. 都是上层的抽象层
    b. 都不能被实例化
    c. 都能包含抽象的方法, 抽象的方法只提供类具备的功能,不提供实现
    不同点
    抽象类中可以写非抽象的方法,从而在子类中重复书写,提高代码复用
    一个类只能继承一个父类,实现多个接口

设计目的:
接口:对类的行为进行约束,提供一种机制,可以强制不同的类具有相同的行为
抽象类:代码复用

  1. 魔术方法
    https://blog.youkuaiyun.com/androidyue/article/details/6210794?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase
__autoload() 
使用尚未被定义的类时自动调用,通过调用此函数,脚本引擎在PHP出错失败前有了最后一个机会加载所需要的类
__construct()
对象初始化时调用,如果找不到__construct方法后会找函数名与类名相同的作为构造函数
__destruct()
对象被销毁前(即从内存中清除前)调用
__call()
当所调用的成员方法不存在(或者没有权限)该类时调用,用于对错误后做一些操作或者提示信息
__callStatic()
处理静态方法调用
__get()
当所对象所调用的成员属性未声明或者级别为private或者protected等时,我们可以在这个函数里进行自己的一些操作
__set($key, $value)
当所对未声明或者级别为private或者protected等进行赋值时调用此函数,我们可以在这个函数里进行自己的一些操作
__isset()
当对一个未声明或者访问级别受限的成员属性调用isset函数时调用此函数,共用户做一些操作
__unset()
当对一个未声明或者访问级别受限的成员属性调用unset函数时调用此函数,共用户做一些操作
__sleep()
该函数是在序列化时自动调用的,序列化这里可以理解成将信息写如文件中更长久保存
__wakeup()
在反序列化的时候自动调用,为反序列化生成的对象做一些初始化操作
__toString()
该函数在将对象引用作为字符串操作时自动调用,返回一个字符串
__clone()
该函数在对象克隆时自动调用,其作用是对克隆的副本做一些初始化操作
  1. 设计模式 //TODO
    常见设计模式:工厂模式,单例模式,注册树模式,适配器模式,观察者模式,策略模式
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值