PHP类相关知识点实例总结
php  /  管理员 发布于 7年前   182
本文实例总结了PHP类相关知识点。分享给大家供大家参考,具体如下: 最终类与最终方法 如果父类中的方法被声明为 final,则子类无法覆盖该方法。如果一个类被声明为 final,则不能被继承。 抽象类与抽象方法 ① 一个类可以使用abstract声明为抽象类;抽象类是不能实例化的类,只用作其他类的父类。 ② 一个方法可以使用abstract声明为抽象方法;抽象方法只需要声明方法头,不需要大括号部分的方法体。 ③ 一个类中有抽象方法,则该类必须声明为抽象类。 ④ 子类继承自一个抽象类,则子类不行实现父类中的所有抽象方法,除非子类也继续作为抽象类。 ⑤ 子类实现抽象父类的方法时,访问控制符范围不能降低,且方法的参数也必须一致(重写)。 接口 接口可以看作是抽象类的更高层面的抽象,可以说是抽象类的特例 类:属性、类常量、方法 抽象类:属性、类常量、抽象方法 接口:接口常量、抽象方法 ① 相比抽象类,接口可实现‘多继承' ② 一个接口只能继承一个接口 ③ 其中方法都是抽象方法不用abstract修饰,即下级类要么实现接口的方法(implements),要么也声明为抽象方法 重载技术 1. 属性重载:如果使用一个不存在的属性,就会调用类中预先定义好的某个方法以处理数据; 对于属性不用的应用场景,做如下处理 ① 取值:自动调用类中的__get() 前提是预先定义好这些方法,否则会报错 运行结果如下: 2. 方法重载:如果使用一个不存在的方法,就会调用类中预先定义好的某个方法以处理该行为; 对于方法不用的应用场景,做如下处理 ① 在对象中调用不可访问的方法:__call() 运行结果如下: 注意:以上方法都属于魔术方法,都带有参数 更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》 希望本文所述对大家PHP程序设计有所帮助。final class a{}class a{ final public function A(){}}
abstract class a { public abstract function func();}class A extends a{ public function func(){}}
abstract class name{}
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{}
② 赋值:自动调用类中的__set()
③ 判断是否存在:自动调用类中的__isset()
④ 销毁:自动调用类中的__unset()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 '
';$obj->one = 1;echo $obj->one;echo '
';var_dump(isset($obj->one));one not exists1boolean true
② 静态方式中调用不可访问方法:__callStatic()'; echo 'function '.$name.' not exist'; } static function __callStatic($name,$arr){ echo '
'; echo 'function '.$name.' not exist'; } /*public function __call($name,$arr){ $num = count($arr); if($num<1){ $name(); }else{ $name = $name.'_one'; $name($arr[0]); } }*/}$obj->func();bee::staFunc();/*$obj->func(1);function func(){ echo '
'; echo 'no.0';}function func_one($val){ echo '
'; echo 'no.'.$val;}*/function func not existfunction staFunc not exist
您可能感兴趣的文章:
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号