首頁 >後端開發 >php教程 >php類別與建構函式解析

php類別與建構函式解析

高洛峰
高洛峰原創
2017-02-18 17:39:241014瀏覽

關於類大家都有一定的認識這裡只介紹在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中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn