这节课我们来说一下关于final关键字的概念和用法。

什么是final关键字?

final中文翻译为“最终的”,“最后的”。在声明一个类之前用final关键词修饰,说明这个函数将不能在任何子类中被重载,继承,也就是说,被final修饰的类将不能再有子类。

之前的课程我们说了4种关键字,public、private、protected、static,分别是公共、私有、保护、静态。用法及示例在前面的课程都有,想学习的同学可以参见前面的课程:

php面向对象之静态方法使用

php面向对象之数据隐藏

下面我们用实例来对比下final和其他关键字有什么不一样,再来分析下final的用法:

final用法实例详解:<?php

header("content-type:text/html;charset=utf-8");

class A{ //声明类

public $num = "23";

final function operation(){ //创建方法,用final关键字

echo '上面变量$num数字是 ' . $this->num ;

}

}

class B extends A{ //创建子类B继承A类

public $num = "50";

function operation()

{

echo '这个变量$num数字是 ' . $this->num ;

}

}

$Num = new B(); //实例化子类

$Num ->operation(); //调用子类中的方法

我们先创建了一个A类,在A类中添加方法,但是在方法前的关键字我们用了final,也就是说,A类中的方法operation()将不能再被继承、重载。接着又创建B类去继承A类,包括不能被继承的方法operation(),运行的结果就是只有报错。

上述示例中禁止了在B类中重载A类中的operation()方法。这样做只会报错。

如果final写在类之前,那么讲禁止整个类被继承。比如上面的示例:final class A{

}

这样写,整个A类都将不能被继承、重载。

php final这个关键词代表什么,php面向对象之final关键字用法及实例相关推荐

  1. Java面向对象——构造方法和关键字(static、this、final、super)

    1 构造方法(Constructor)   1.构造方法和字段.方法一样,都是类中的成员之一:   2.构造方法的结构和普通方法类似,除了下面几点:   a.构造方法的名字和类名一致(包括大小写): ...

  2. 《java入门第一季》之面向对象(final关键字)

    /*final可以修饰类,方法,变量特点:final(可以修饰类),该(类)(不能被继承).一旦修饰了一个类,这个类就不能被继承了!final以修饰方法,该方法可以被继承但是不能被重写.(覆盖,复写) ...

  3. 面向对象开发技术05_消息、实例和初始化

    05 消息.实例和初始化 1.消息 对象间相互请求或相互协作的途径. 面向对象消息模型 对象作为用传递消息的方式互相联系的通信实体 ,既可以接收也可以拒绝外界发来的消息 对象接收它能识别的消息 拒绝它 ...

  4. Java 面向对象:super关键字的理解

    Java 面向对象:super关键字的理解 一.Super关键字: 1. super调用父类的构造方法,必须在构造方法的第一个 2. super只能出现在子类的方法或构造方法中! 3. super和t ...

  5. final关键字用法

    Java关键字final有"这是无法改变的"或者"终态的"含义,它可以修饰非抽象类.非抽象类成员方法和变量. final类不能被继承,没有子类,final类中的 ...

  6. java+中的final关键字有哪些用法_Java中的Final关键字用法汇总及简单示例

    可能使用到final的情况有3种:数据.方法和类. 一.final数据 对于基本类型,final使数值恒定不变:而对于对象引用,final使引用恒定不变.一旦引用被初始化指向一个对象,就无法把它改为指 ...

  7. python_day6_面向对象的介绍/构造函数/类变量和实例变量/析构函数/私有属性和私有方法/继承、多继承和继承实例/多态

    python_面向对象的介绍/构造函数/类变量和实例变量/析构函数/私有属性和私有方法/继承.多继承和继承实例/多态 在这里得感谢,老师Alex金角大王(路飞学城IT) Python(给兄弟们挂个

  8. 【职坐标】java面向对象前言——static关键字

    Java面向对象前言 -- static关键字详解 一.      Static关键字的概念 static为"全局"或者"静态"的意思,用来修饰成员变量(类的属 ...

  9. 面向小姐姐的编程——java面向对象之final、static关键字

    文章目录 final关键字 final的概念 final的作用 修饰类: 修饰变量: 总结 代码示例 static关键字 static的概念 static的作用 调用方式 static修饰成员变量 特点: ...

最新文章

  1. c# 线程间操作无效: 从不是创建控件“”的线程访问它,用托管来解决
  2. 《软件工程课程总结》
  3. perl one line
  4. android 防腾讯新闻标题栏,仿腾讯视频android客户端上方的标题栏
  5. 您需要了解的WordPress漏洞以及如何修复它们
  6. 此beta版本目前不接受任何新测试员_ASO行业资讯|苹果官方App测试工具TestFlight
  7. stm32中断 抢占优先级 和 响应优先级 有什么区别
  8. Android 自定义万能的抽屉布局(侧滑菜单)GenericDrawerLayout
  9. 【CSDN软考VIP资料群】让软考通过更容易,软考资料大全支持你软考!
  10. Unity基础知识学习四,UI框架设计
  11. windows痛苦面具-C盘瘦身法
  12. 概率论与数理统计---------分布函数
  13. Spring Security整合KeyCloak保护Rest API
  14. android开发动态图ae,动影ae动态图片特效制作
  15. 第十四周 项目2-用文件保存的学生名单
  16. FutureTask实现超时任务
  17. SpringCloud五大神兽之Eureka服务注册(三)——Eureka的自我保护
  18. HTML5 自定义视频播放器
  19. 向量内积和夹角的关系
  20. 公司邮箱登录,邮件多长时间能撤回,有时间限制吗?

热门文章

  1. CSS Sprite的应用
  2. Git版本服务器搭建(CentOS)--gitblit
  3. PostgreSQL与MySQL比较
  4. 华为防火墙的技术积累
  5. JVM1.6 GC详解
  6. IE – File - Work Offline
  7. PendingIntent详解
  8. 机房收费系统=三层+设计模式
  9. poj 2516 最小费用最大流
  10. ACM模板--链接表 有向图