zoukankan      html  css  js  c++  java
  • php学习十三:其他关键字

    在php中,其实不止在php中,在其他语言中我们也会常常接触到一些关键字,整理了一下php当中的一下关键字,可能有些不全,希望大家指出来,多多交流,一起进步。

    1.final

    特性:1.使用final关键字标记的类不能被继承;2.被final关键字标记的方法不能被子类重写,是最终版本
    目的:一是为了安全,二是没有必要

    final class Final1
    {
        public $name;
        final function say(){
            echo "无法调用这个方法以及这个类";
        }
    
    }
    

      

    2.const(成员常量):定义一些固定不变的值

    命名规则,是一个公共的,所以用关键字const,后面不能加$
    用self来调用这个常量,但是不能更改

    class Const1
    {
        const base=100;
        function show(){
            self::base; //base永远是100
        }
    }
    

      

    3.instanceof用于检测当前的实例是否属于某一个类的类型

    代码:下面的One类为父类,Two为子类,继承了父类

    $one = new One();
    $two = new Two();
    echo $one instanceof One;
    
    echo $one instanceof Two;
    
    echo $two instanceof One;
    

      

    4.static静态方法

    属于类的方法和属性,需要用类去调用,全局都可以调用,不用去实例化对象

    class Static1
    {
        static $name = "fangming";
        public function show(){
            echo self::$name;  //self关键字相当于本类,不能用this
        }
    }
    echo Static1::$name;
    

      

    5.特别补充:获取实例对象

    有时候一个类里面的属性都是私有的,初始化的__construct函数都是私有的,这个时候就需要用到静态方法来获取实例了,具体代码如下

    class Singleton
    {
        static  $instance=null;
       
        private  function  __construct()
        {
        }
    
    
        //获取单例对象
        public  static function  getInstance(){
    
            if(is_null(self::$instance)){
                self::$instance=new Singleton ();
            }
    
            return self::$instance;
        }
    }
    Singleton::getInstance();
    

      

  • 相关阅读:
    git使用记录
    【转】话说我打算一天学完object c语法,系列1--------来自书Objective-c程序设计
    【转】看源代码那些事
    中英文对照 —— 数学定律定理(公式及其描述)
    CUDA+OpenGL混合编程
    简明欧洲史
    简明欧洲史
    CUDA一维纹理内存
    CUDA中的常量内存__constant__
    CUDA线程协作之共享存储器“__shared__”&&“__syncthreads()”
  • 原文地址:https://www.cnblogs.com/mmykdbc/p/6648192.html
Copyright © 2011-2022 走看看