• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHP面向对象之-static

php 搞代码 3年前 (2022-01-23) 12次浏览 已收录 0个评论

PHP面向对象之—-static
众所周知,OOP的目的就是了把一个次编写代码,复制复制再复制来&源gao@dai!ma.com搞$代^码%网搞gaodaima代码,继承继承再继承的合理利用每一次的工作,同时也方便代码管理。哪个环节出错了就去找哪个环节。但是有时候我们写的类,最终发现它只使用了一次,并没有生成多个的实例。这个时候再去new, 不仅影响效率,代码也显得不够简洁。
所以非常感性的php,为我们提供了一种便捷高效的方法 static 有了它以后这些统统不再是问题。

class hw{      public static function hi(){         return 'Hello World!!!';      }  }     echo hw::hi();    view plaincopy to clipboardprint?class hw{      public function hi(){         return 'Hello World!!!';      }  }     echo hw::hi();  从上面的例子可以看出了,使用了static和不使用static属性以后可以直接使用::方法从外面直接调用,但是为了效率和其他方面因素,还是建议使用static 来限制。static 类内部调用方法class foo{     private static function c(){    return 'abcd';  }     public static function a(){    echo self::c();  }     }  foo::a();    使用了static 关键字来限制方法是必须使用self:: 在本类内部引用,上面的例子已经将的很清楚了。static 属性view plaincopy to clipboardprint?class foo{  public static $a;  public static function a(){    self::$a='abcd';  }  }  foo::a();  echo foo::$a;    我们同样可以使用static关键字来限制变量 这个时候变量不会一直保持上一次负值时候的值。static 继承与使用view plaincopy to clipboardprint?class foo{  public static $a;  public static function a(){    return 'abcd';  }  }  class oo extends foo{  public static  function a(){    echo '1234';  }  }  oo::a();    static 的继承和普通类的继承方法一样,并没有太大的区别。view plaincopy to clipboardprint?class foo{  public static $a;  public static function a(){    return 'abcd';  }  }  class oo extends foo{  public static  function aa(){    echo parent::a();  }  }  oo::aa();    只是使用的时候有写区别,必须是parent::方法来引用父类的方法,并不能直接self::来使用父类的方法,如下例子,则不会显示任何值:view plaincopy to clipboardprint?class foo{  public static $a;  public static function a(){    return 'abcd';  }  }     class oo extends foo{  public static  function aa(){    echo self::a();  }  }  oo::a();    再一个简单的例子view plaincopy to clipboardprint?<?php      class Status {          public static $ICE = -1;          public static $WATER = 0;          public static $VAPOR = 1;       }  ?>?    <?php      $exStatus = Status::$ICE;      if ($exStatus == Status::$ICE)          echo "Ice";      else          echo "Water";  ?>    

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP面向对象之-static
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址