来看看,PHP对象的高级应用怎样实现

北京白癜风医院那家好 https://jbk.39.net/yiyuanzaixian/bjzkbdfyy/nxbdf/
1、final关键字被final关键字修饰过的类和方法就是“就是最终版本”。如果一个类的格式为:finalclassname{……}说明该类不可以继承,也不能有子类。如果一个方法的格式为:finalfunctionmethodname()说明该方法在子类中不可以进行重写,也不可以被覆盖。本例为SportObject类设置关键字final,并生成一个子类MyBook。可以看到程序报错,无法执行。代码如下:结果为:Fatalerror:ClassMyBookmaynotinheritfromfinalclass(SportObject)inD:\project\collection\test\11.phponline、抽象类抽象类是一种不能被实例化的类,只能作为其它类的父类来使用。抽象类使用abstract关键字来声明,格式为:abstractclassclass_name{}抽象类和普通类相似,包含成员变量、成员方法。两者的区别在于,抽象类至少要包含一种抽象方法。抽象方法没有方法体,其功能的实现在子类中完成。抽象方法也是使用abstract关键字来修饰的,格式如下:abstractfunctionname();下面实现一个商品抽象类CommodityObject,该抽象类包含一个抽象方法service()。生成两个子类MyBook和MyComputer,分别在两个子类中实现抽象方法。最后实例化两个对象,调用实现后的方法,输出结果。代码如下:运行结果如下图所示:3、接口的使用集成特性简化了对象、类的创建,增加了代码的可重性。单PHP只支持单继承。如需要实现多继承,就需使用接口。接口类通过interface关键字来声明,并且类中只能包含未实现的方法和一些成员变量,格式如下:interfaceinterfaceName{functionname1();functionname2();}注意:不要用public以外的关键字来修饰接口中的类成员,对于方法,不写关键字也可以。这是由接口类自身的属性决定的。子类是通过implements关键字来实现接口的,如要实现多个接口,可在每个接口之间使用逗号“,”隔开。而且接口类中所有未实现的方法在子类中全部实现,否则PHP会报错。首先声明了两个接口MPopedom和MPurview,接着声明了两个类Member和Manager,其中Member类继承了MPopedom接口;Manager继承了MPopedom和MPurview接口。分别实现各自成员方法后,实例化两个对象,调用实现后的方法。代码:运行结果图通过上面的实例可以发现,抽象类和接口实现的功能十分相似。抽象类的优点是可以在类中实现公共方法,而接口则可以实现多继承。4、魔术方法(1)__set()和__get()方法这两个魔术方法的作用分别为:当程序试图写入一个不存在或不可见的成员变量时,PHP就会执行__set()方法。__set()方法包含两个参数,分别表示变量名和变量值,两个参数不可省略。当程序调用一个未定义或是不可见的成员变量时,可以通过__get()方法来读取变量的值。__get()方法有一个参数,表示要调用的变量名。(2)__call()方法__call()方法的作用是:当程序试图调用不存在或不可见的成员方法时,PHP会先调用__call()方法来存储方法名及其参数。__call()方法包含两个参数,即方法名和方法参数。其中,方法参数是以数组形式存在的。代码结果图总结,PHP安全问题有哪些phpsession会话使用案例


转载请注明:http://www.aierlanlan.com/tzrz/7578.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了