时间:2021-05-26
本文实例总结了PHP类相关知识点。分享给大家供大家参考,具体如下:
最终类与最终方法
如果父类中的方法被声明为 final,则子类无法覆盖该方法。如果一个类被声明为 final,则不能被继承。
final class a{}class a{ final public function A(){}}抽象类与抽象方法
abstract class a { public abstract function func();}class A extends a{ public function func(){}}① 一个类可以使用abstract声明为抽象类;抽象类是不能实例化的类,只用作其他类的父类。
abstract class name{}② 一个方法可以使用abstract声明为抽象方法;抽象方法只需要声明方法头,不需要大括号部分的方法体。
abstract public function name($val);③ 一个类中有抽象方法,则该类必须声明为抽象类。
④ 子类继承自一个抽象类,则子类不行实现父类中的所有抽象方法,除非子类也继续作为抽象类。
⑤ 子类实现抽象父类的方法时,访问控制符范围不能降低,且方法的参数也必须一致(重写)。
接口
接口可以看作是抽象类的更高层面的抽象,可以说是抽象类的特例
interface a{ function func();}class A implements a { function func(){}}类:属性、类常量、方法
抽象类:属性、类常量、抽象方法
接口:接口常量、抽象方法
① 相比抽象类,接口可实现‘多继承'
class A implements a,b,c{}② 一个接口只能继承一个接口
interface a extends b{}③ 其中方法都是抽象方法不用abstract修饰,即下级类要么实现接口的方法(implements),要么也声明为抽象方法
重载技术
1. 属性重载:如果使用一个不存在的属性,就会调用类中预先定义好的某个方法以处理数据;
对于属性不用的应用场景,做如下处理
① 取值:自动调用类中的__get()
② 赋值:自动调用类中的__set()
③ 判断是否存在:自动调用类中的__isset()
④ 销毁:自动调用类中的__unset()
前提是预先定义好这些方法,否则会报错
<?phpclass bee{ public $ol = array(); public function __get($key){ if(isset($this->ol[$key])){ return $this->ol[$key]; } return $key.' not exists'; } public function __set($key,$val){ $this->ol[$key] = $val; } public function __isset($key){ if(isset($this->ol[$key])){ return true; } return false; } public function __unset($key){ unset($this->ol[$key]); }}$obj = new bee();echo $obj->one;echo '<br>';$obj->one = 1;echo $obj->one;echo '<br>';var_dump(isset($obj->one));运行结果如下:
one not exists1boolean true2. 方法重载:如果使用一个不存在的方法,就会调用类中预先定义好的某个方法以处理该行为;
对于方法不用的应用场景,做如下处理
① 在对象中调用不可访问的方法:__call()
② 静态方式中调用不可访问方法:__callStatic()
运行结果如下:
function func not existfunction staFunc not exist注意:以上方法都属于魔术方法,都带有参数
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例总结了php抽象类和接口相关知识点。分享给大家供大家参考,具体如下:抽象类(一种抽象的类)一、什么是抽象方法?定义:一个方法如果没有方法体(一个方法,不
本文实例讲述了Laravel框架基础语法与知识点整理。分享给大家供大家参考,具体如下:这篇文章的知识点主要有以下几个点:模板中输出PHP变量模板中调用PHP代码
在设计模式的策略模式中,需要动态加载程序集信息,本文通过一个简单的实例,来讲解动态加载Dll需要的知识点。涉及知识点:AssemblyName类,完整描述程序集
第一个知识点:表单的属性及总结第二个知识点:H5新增的表单控件和属性以及总结第一个知识点:我们常见的表单验证有哪些呢 text 文本框标签 passwor
一、首先需要在MsgManage控制器中加入分页方法知识点:1、count函数的试用2、Page类实例化操作及相关参数了解3、limit函数了用4、show函数