找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 958|回复: 0

Final与Instanceof

[复制链接]

304

主题

42

回帖

1348

积分

管理员

积分
1348
发表于 2021-4-22 12:29:31 | 显示全部楼层 |阅读模式
final
  1. <?php
  2.         // final. instanceof

  3.         /*
  4.                 final
  5.                         最终的
  6.                
  7.                         特性:
  8.                                 1. 修饰类与方法
  9.                                 2. 如果类被声明 final ,则不能被继承。
  10.                                 3. 如果方法被声明 final ,则不能被重写。


  11.         */

  12. final class Simple
  13. {

  14. }


  15. class Foo
  16. {
  17.         // 不希望被重写
  18.         final public function getMessage()
  19.         {
  20.                 echo 'Foo:getMessage';
  21.         }
  22. }



  23. class Son extends Foo
  24. {
  25.         // public function getMessage()
  26.         // {
  27.         //         echo 'Son:getMessage';
  28.         // }
  29. }
  30.        
  31. $s = new Son();
  32. $s->getMessage();
复制代码
Instanceof
  1. <?php
  2. // instanceof
  3. // 判断对象是否某个类的实例。

  4. class Foo
  5. {
  6.         public function test()
  7.         {

  8.         }
  9. }

  10. class Soo extends Foo
  11. {

  12. }

  13. $s = new Soo();
  14. var_dump($s);

  15. // 判断前面这个对象 $s ,是否是后面这个类的实例,祖辈都行
  16. if ($s instanceof Soo) {
  17.         echo 'Y';
  18. }

  19. if ($s instanceof Foo) {
  20.         echo 'Y';
  21. }
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|外汇论坛 ( 粤ICP备16021788号 )

GMT+8, 2024-12-22 20:57 , Processed in 0.074601 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表