静态方法用于不需要实例化的情况,通俗来讲一个类是数据和操作该数据的方法的集合,很多类的具体数据有时候是根据不同的实例有不同的值的,这个时候使用这个类就要实例化,要先new 一个对象出来,再对该对象进行操作。这个类就是非静态的,因为类数据是变化的。 但也有些类的数据是固定不变的,也就是说实例化有否不影响数据,那么这个时候就可以直接调用这个类,这个类就可以定义为静态。这个时候调用静态方法时就不需要new一个对象了,而是直接调用类。
或者是方法的数据固定不变使用静态方法??
- <?php
- header("content-type:text/html;charset=utf-8");
- class A{
- public static $link = null;
- public function __construct(){
- echo '链接数据库';
- }
- public static function getconnect(){
- if(is_null(self::$link)){
- return self::$link = new A;
- }else{
- return self::$link;
- }
- }
- }
- $a = A::getconnect();
- echo '<br>';
- $b = A::getconnect();
- if($a === $b){
- echo 'Y';
- }else{
- echo 'N';
- }
- 结果: //证明这是同一个对象。
- 链接数据库
- Y
单态设计模式:(最终只能得到一个对象)--静态方法应用实例
猜你喜欢
转载自blog.csdn.net/gaisidewangzhan1/article/details/80271382
今日推荐
周排行