详谈PHP中public,private,protected,abstract等关键字的用法
PHP中常用的关键字
在PHP中包含了很多对函数和类进行限制的关键字,常用的通常有abstract,final,interface,public,protected,private,static等等,下面我们就将对这些进行分析整理各个的用法。
变量与方法的关键字public,private,protected
public的权限最大,既可以让子类使用,也可以支持实例化之后的调用,
protected表示的是受保护的,访问的权限是只有在子类和本类中才可以被访问到
private 表示的是私有,只能够是在当前的类中可以被访问到
<"color: #ff0000">变量与方法的关键字staticstatic的作用就是能够实现值或者方法在类中不需实例化的情况下调用,同时static修饰的变量具有与值存储的功能,例如我们不使用static运行的结果如下:
<"</br>"; $var++; } test();// 1 test();// 1 test();// 1 "htmlcode">上一篇:PHP让数组中有相同值的组成新的数组实例<"</br>"; $var++; } test();// 1 test();// 2 test();// 3 "htmlcode">var glo=0; function test(){ glo++; document.writeln(glo); } test(); test(); test();这样就会把glo泄漏到全局变量中,如果生成的变量比较多,就会导致内存泄露(内存泄漏所指代的就是变量占用过多的内存空间没有别释放)
<script> var glo=0; function test(){ glo++; document.writeln(glo); } test();// 1 test();// 2 test();// 3 </script>所以相比于在没有定义static的语言中,它具有一个优势是保持变量,不泄露内存,也不容易导致全局变量被误用(因为作用域不在全局)
$age=0; $age++; function test1() { static $age = 100; $age++; echo $age."</br>"; } function test2() { static $age = 1000; $age++; echo $age."</br>"; } test1(); // 101 test2(); // 1001class与方法的关键字final
final只能够用来修饰class与function,使用了final之后就不能够被继承,例如如下的代码就会直接报错
class BaseClass { public $public = 'Public'; function test() { echo "BaseClass::test() called\n"; } final public function moreTesting() { echo "BaseClass::moreTesting() called\n"; } } class ChildClass extends BaseClass { public function moreTesting() { echo "ChildClass::moreTesting() called\n"; } }特殊关键字interface,abstract
interface的意义在于规范编程的风格,设想一下就是如果是实现了一个接口那么我们在使用这个接口类的时候就必须要实现里面的方法,起到了统一命名的作用。
class是可以多继承接口的,接口与接口之间的单继承是通过extends来实现的,class与接口之间的关系确立是通过implements
示例代码:
<"htmlcode"><"buy"; } public function loan() { echo "loan"; } } class leslieBuy extends shopping { } //$test1=new shopping;//直接语法错误 $leslieSie = new leslieBuy; $leslieSie->loan();//打印出loan ?>以上这篇详谈PHP中public,private,protected,abstract等关键字的用法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
下一篇:php中通用的excel导出方法实例
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?