關於類大家都有一定的認識這裡只介紹在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);
如果沒有給出參數,則預設為=後的值。