zoukankan      html  css  js  c++  java
  • php静态方法与静态属性

    • static 修饰的类方法为静态方法,在静态方法中只能调用静态变量,不能调用普通变量

    • 在类的内部访问该类的静态方法 self::静态方法名

    • 在类的内部访问父类的静态方法 parent::静态方法名

    • 在类的外部访问静态方法 类名::静态方法名

    在类的内部访问该类的静态方法

    <?php
    header("Content-type:text/html;charset=utf-8");
    
    class People{
        public static function introduceMySelf(){  //定义静态类方法
            echo '本府芳名不便告知,望谅解!<br>';
        }
        public static function introduceSomeone($name){  //定义静态类方法
            if ($name == '我') {
                self::introduceMySelf();  //调用静态类方法
            }else{
            echo '这就是人见人爱花见花开的'.$name.'同学!<br>';
            }
        }
    }
    ?>
    

    在类的内部访问父类的静态方法

    在类的外部使用静态方法

    <?php
    header("Content-type:text/html;charset=utf-8");
    
    class People{
        public static function introduceMySelf(){  //定义静态类方法
            echo '本府芳名不便告知,望谅解!<br>';
        }
        public static function introduceSomeone($name){  //定义静态类方法
            echo '这就是人见人爱花见花开的'.$name.'同学!<br>';
        }
        People::introduceMySelf();  //调用无参数的静态方法
        People::introduceSomeone('沫沫');  //调用带参数的静态方法
    }
    ?>
    

    类的属性

    访问类的成员属性

    在类的方法中访问类的属性,需要使用this关键字。this是一个特殊变量,只能在类的内部使用,用于获得类的某个属性。

    $this->属性名  //注意这里的属性名前没有$
    
    <?php
    header("Content-type:text/html;charset=utf-8");
    
    class People{
        public $name;
    
        public function introduceSomeone(){  //定义静态类方法
            echo '我就是人见人爱花见花开的'.$this->name.'同学!<br>';  //这里的属性名前不要加$
        }
    }
    
    $p = new People();  //实例化People类
    $p->name = '沫沫';  //修改类的属性
    $p->introduceSomeone();  //调用类的方法
    ?>
    

    静态属性

    定义静态类的属性

    [访问控制修饰符] static 属性名;
    

    访问静态属性

    • 在类的内部访问该类的静态属性 self::$静态属性名

    • 在类的内部访问父类的静态属性 parent::$静态属性名

    • 在类的外部访问类的静态属性(前提时该属性可以访问)不要实例化类就可以直接调用,格式为:类名::$静态属性名

    注意这里的静态属性名前带有 $

    <?php
    header("Content-type:text/html;charset=utf-8");
    
    class People{
        static $number = 1;
    }
        echo '$number = '.People::$number.'<br>';
        ++People::$number;
        echo '$number = '.People::$number.'<br>';
        $a = People::$number + People::$number;
        echo '$number + $number = '.$a.'<br>';
    ?>
    

    常量

    定义常量:

    const 常量名 = '值';  //注意常量名前面没有$
    

    注意:

    • 常量名前面没有 $
    • 常量在定义时需要赋初始值
    • 常量名字母一般全部大写

    访问常量

    • 在类的内部访问该类的常量:self::常量名;

    • 在类的内部访问访问父类的常量名:parent::常量名;

    • 在类的尾部访问常量成员时,不需要实例化类,也不需要用操作符->,而是是哟个作用域符::。语法格式为:类名::常量名;(这里的常量名前面也不加$)

  • 相关阅读:
    课题论文之调研--贝叶斯网络
    Android开发--数据存储之数据库操作
    Android开发--数据存储之File文件存储
    ROS常用命令
    CMakeLists.txt实例运用(入门)
    乐视三合一奥比中光Orbbec Astra Pro在ROS中配置显示RGB、深度、IR图像的两种思路
    VTK显示CT图像视图
    手眼标定
    并联机器人位姿解算
    信息物理融合CPS
  • 原文地址:https://www.cnblogs.com/id88/p/11069037.html
Copyright © 2011-2022 走看看