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::常量名;

  • 在類的尾部訪問常量成員時,不需要實例化類,也不需要用操作符->,而是是喲個作用域符::。語法格式為:類名::常量名;(這里的常量名前面也不加$)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM