zoukankan      html  css  js  c++  java
  • php--最终类final

    思考:继承是利用了一些共性以及共性大小来拆分的父类和子类,父类的目的是为了给子类提供一些共性代码,子类可以从父类继承,而且还可以有子类无限继承子类,

    继承的目的一是利用父类提供的公共代码,二是实现自身需求的扩展,如果子类无线被继承会有什么后果呢?

    引入:事务的划分首先不可能无限细化,因此肯定是不需要无线的出现子类的,一旦无线出现子类,那么就会导致代码的执行效率大大降低,而且可能被某些无关类

    继承从而出现安全问题,但是从代码设计的角度来讲是无法显示开发者的,因此php提供了一种终结机制,让类无法被继承

    最终类final【掌握】

    定义:最终类,使用final关键字修饰类名,表示此类不可以继承。

    1.基础语法 final class posen{}

    <?php
    
    final class posen{
    
    
    }
    
    ?>

    2.最终类无法被继承  运行提示错误

    <?php
    
    final class posen{
    public $name=332;
    
    }
    
    class man extends posen{      //运行后 致命的错误,无法从final类继承
    
    }
    
    ?>

    3.final关键字不知修饰类表示类不可被继承,还能修饰方法,表示方法不能不被重写

    <?php
     class posen{
    public $name=332;
    public final function show(){   //最终方法
       echo __CLASS__;
    }
    }
    
    class man extends posen{      //运行后 致命的错误,无法从final类继承
    
       public function show(){
          echo "我能重写这个方法吗?";
       }
    }
    
    $s=new man();
    $s->show();    //错误不能重写final的方法  致命的错误
    
    ?>

    总结:

      final关键字修饰的类表示无法被继承

      final关键字还可以修饰方法,表示方法不能被子类重写(通常类不会使用final关键字)

      fnal修饰类包实不希望类在出现子类,可以很好保护类的内部结构不被暴露

      final修饰方法表示不希望方法被修改,可以在一个更高的维度来保证同类事务的共同表现

  • 相关阅读:
    做了点数论的题
    2016日报总结
    2016在H3C
    2017春节小目标
    2016项目小总结
    明明的随机数
    计算字符个数
    字符串最后一个单词的长度
    字符串分隔
    考研回忆
  • 原文地址:https://www.cnblogs.com/xiaowie/p/12292260.html
Copyright © 2011-2022 走看看