zoukankan      html  css  js  c++  java
  • php面向对象之静态方法使用

    什么是静态方法?

    不是所有的变量和方法都要通过创建对象来调用。可以通过给变量和方法加上static关键字来直接调用。无锡大理石测量平台

    调用静态成员的语法格式为:

    关键字::静态成员

    关键字可以是:

    (1)self,在类内部调用静态成员时所使用。

    (2)静态成员所在的类名,在类外调用类内部的静态成员时所使用。

    注意:在静态方法中,只能调用静态变量,而不能调用普通变量;而普通方法则可以调用静态变量。

    静态方法实例讲解:

    静态方法实例1:

    1

    2

    3

    4

    5

    6

    7

    <?php

    class Math{

    static function squared($input){

    return $input*$input

    }

    }

    echo Math :: squared(3);

    运行结果为:9

    上面是个简单的实例,值得注意的是,在静态方法中,不能使用$this关键字,因为可能会没有可以引用的对象实例。因为静态方法可以不需要实例化对象。

    使用静态成员,除了可以不需要实例化对象外,另一个作用就是在对象被销毁后,仍然保存被修改的静态数据,以便下次继续使用。这个概念比较抽象,下面举个例子具体分析。

    静态方法实例2:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    <?php

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

    class Play{

    static $num = 0;

    function showNum(){

    echo '这是你第' . self :: $num . '次玩LOL';

    self :: $num++ ;

    }

    }

    $play1 = new Play();

    $play1 -> showNum();

    echo '<br/>';

    $play2 = new Play();

    $play2 -> showNum();

    echo '<br/>';

    echo '这是你第' . Play::$num .'次玩LOL';

    上述实例中,我们先定义了静态变量$num,然后再类中声明一个方法,在方法当中调用了静态变量,调用的方法可以在实例中看到,接着是给静态变量加1.依次实例化类的对象,再调用方法。接下来就是我们上面说的:在对象被销毁后,仍然保存被修改的静态数据,以便下次继续使用。

    注意事项:

    静态方法很好用,不用实例化对象,当类第一次加载的时候就已经给了静态成员空间。但是什么东西都是不能滥用的。因为一旦静态成员声明的过多,空间一直被占用着,那么会影响系统的运行速度和功能,所以切记:东西虽好,可不能贪多哦!

    以上就是php面向对象之静态方法使用的详细内容

  • 相关阅读:
    hive on spark:return code 30041 Failed to create Spark client for Spark session原因分析及解决方案探寻
    windows下大数据开发环境搭建(5)——Hive环境搭建
    kubernetes环境部署单节点redis
    kubernetes中有状态应用的优雅缩容
    欢迎关注我的知乎账号
    BCC和libbpf的转换
    BPF的可移植性和CO-RE (Compile Once – Run Everywhere)
    正则表达式
    正则表达式关键词解析
    正则表达式三种模式:贪婪模式、懒惰模式、独占模式
  • 原文地址:https://www.cnblogs.com/furuihua/p/12083769.html
Copyright © 2011-2022 走看看