美图齐众专注资阳网站设计 资阳网站制作 资阳网站建设
资阳网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

深入分析PHPfinal关键字使用技巧

PHP程序员们在掌握了PHP语言的基础知识后,通常都会通过不断的经验积累来巩固自己所学到的知识。下面我们将为大家详细介绍有关PHP final关键字的相关用法。#t#

创新互联建站坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都做网站、网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的大理州网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

在PHP中类的继承是使用最多的一个编程特性,我们可以创建一个基类(父类)然后在这其中定义一些基本的方法,在我们的子类我们可以扩展父类中的方法这就叫覆盖,但是如果说你在父类的某些很关键的方法你不能被子类继承,因为如果子类继承了这个方法可能给程序带来一定的麻烦,所以我们希望这个方法是“私有”的,是不能被扩展的,这在PHP使用了final关键字来修饰你要不被继承的方法。

PHP final关键字可以修饰类同样可以修改类中的方法,但它们的作用是差不多的,即如果你使用了final关键字来修饰了,那么这个被修饰的类或者方法将不能被扩展或者继承。你只能老老实实去引用它。如果你在类前面使用了final,这就是说明这个类不能使用继承;如果你在方法前使用了PHP final关键字,这就是说明这个方法不能被覆盖。道理就是这么简单,让我们也看个简单的示例吧。

 
 
 
  1. < ?PHP 
  2. final class BaseClass { 
  3. public function test() { 
  4. echo "BaseClass::test() called\n"; 
  5. final public function moreTesting() { 
  6. echo "BaseClass::moreTesting() called\n"; 
  7. class ChildClass extends BaseClass { 
  8. public function moreTesting() { 
  9. echo "ChildClass::moreTesting() called\n"; 
  10. // Results in Fatal error: Cannot override final method BaseClass::moreTesting() 
  11. ?> 

这个例子中,我们在类前和方法前都加了PHP final关键字来修饰我们具体的类,当然这个类是不能按要求来输出的,你可以自己动手调试下,基本的原理就这样了,我们只要记住如果类或者方法使用了final那么这就意味着类不能被继承或者子类不能覆盖父类的方法。


分享文章:深入分析PHPfinal关键字使用技巧
文章地址:http://www.zsjierui.cn/article/dpjodsh.html

其他资讯