深入理解php類別與建構函式解析

迷茫
發布: 2023-03-06 22:56:02
原創
2153 人瀏覽過

關於類別大家都有一定的認識這裡只介紹在php中類別值得注意的地方

----類別的創建----

#php使用關鍵字class建立一個類,並且使用一對大括號
如:


#
class name{
  public $n="";
  private $u="";

  public function name() {
    $n="233";
    $u="23333";
  }

  public function rename($newn){
     $this->n=$newn;//this表示这个类
  }
}
登入後複製

結尾不打分號。則$n,$u為欄位;name()為建構子(construct()也可定義建構函數,詳見下文),可以為欄位賦值; rename()為方法。

----欄位----

比較
#$obj=new name();
echo $obj->n;

$obj=new name();
echo $obj-> ;u;

前者可執行,後者不可因為$u前宣告了私有private。這一點是與c++類似的。

程式碼:

public static $nm ="2333333333333333" ;
登入後複製

為函數申明了一個靜態欄位。
透過類別名稱與::可以直接存取該變數

echo name::$nm;

這一點也是與c++類似的。

php中也可以透​​過 self::+$+變數名稱 在類別中存取靜態字段,這時self相當於$this-> ;

方法的使用與欄位類似


----建構子----

在php5和早期版本中建構子與類別同名

在php5和之後的版本中魔術字construct() 可定義建構子

魔術字construct() 可定義建構子

class name{
  public $n="";
  private $u="";

  public function construct() {
    $n="233";
    $u="23333";
  }

  public function rename($newn){
     $this->n=$newn;
  }
}
登入後複製

建構子可有參數

construct($name="",$sex="man",$age=0) {}

在申明物件時

$obj= new name("我","man",28);
登入後複製

如果沒有給予參數,則預設為=後的值。

以上是深入理解php類別與建構函式解析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板