1. 類的定義以class關鍵字開始,後面跟着這個類的名稱。類的名稱命名一般每一個單詞的第一個字母大寫。
2. 定義類的屬性
3. 定義類的方法php
class NbaPlayer { // 類的屬性的定義 public $name="小明"; public $age="18"; // 類的方法的定義 public function sayName() { echo $this->name."\n"; } public function sayAge(){ echo $this->age."\n";
}
}
4. 實例化類的對象
5. 使用對象的屬性和方法函數
//1. 類實例化爲對象時使用new關鍵字,new以後緊跟類的名稱和一對括號。 // 2. 使用對象能夠像使用其餘值同樣進行賦值操做 $xiaoming = new Person(); // 訪問對象的屬性使用的語法是->符號,後面跟着屬性的名稱 echo '屬性調用:'."\n"; echo $xiaoming->name."\n"; // 調用對象的某個方法使用的語法是->符號,後面跟着方法的名稱和一對括號 echo '方法調用:'."\n"; $xiaoming->sayName(); $xiaoming->sayAge();
咱們運行一下這個代碼 (經過命令行的形式)學習
咱們成功使用類實例化了一個對象this
默認的構造函數,在對象被實例化的時候自動調用spa
<?php date_default_timezone_set("PRC"); class Person { // 類的屬性的定義 public $name = "小明"; public $age = "18"; //構造函數的使用 function __construct($name, $age) { $this->name = $name; // $this是php裏面的僞變量,表示對象自身 $this->age = $age; } // 類的方法的定義 public function sayName() { echo $this->name . "\n"; } public function sayAge() { echo $this->age . "\n"; } } $aym = new Person('aym','20'); $aym->sayName(); $aym->sayAge();
運行效果命令行
能夠看到咱們已經成功初始化了咱們想要的結果code
咱們並無直接去調用這個function __construct()函數,而是在咱們在對象被實例化的時候自動調用對象
析構函數的使用析構函數,用於清理程序中使用的系統資源,好比釋放打開的文件等等blog
析構函數在該對象不會再被使用的狀況下自動調用生命週期
析構函數(destructor) 與構造函數相反,當對象結束其生命週期時(例如對象所在的函數已調用完畢),系統自動執行析構函數。析構函數每每用來作"清理善後" 的工做(例如在創建對象時用new開闢了一片內存空間,應在退出前在析構函數中用delete釋放)
<?php date_default_timezone_set("PRC"); class Person { // 類的屬性的定義 public $name = "小明"; public $age = "18"; //構造函數的使用 function __construct($name, $age) { $this->name = $name; // $this是php裏面的僞變量,表示對象自身 $this->age = $age; } //析構函數的使用 function __destruct() { echo "Destroying " . $this->name . "\n"; } //類的方法的定義 public function sayName() { echo $this->name . "\n"; } public function sayAge() { echo $this->age . "\n"; } } $aym = new Person('aym', '20'); $tom = new Person('tom', '18'); $aym->sayName(); $tom->sayName(); $tom = null; echo '---分界---'."\n"; echo '程序執行完了' . "\n";
在咱們的代碼都執行完成夠,系統會幫咱們調用對象的function __destroy()函數
當對象變量被賦值爲Null的時候,對象的析構函數會被自動調用,同一個類的其餘對象不受影響