這篇文章主要介紹了關於php物件導向之類與實例化對象,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下
類別
[修饰符] class 类名 { [属性] [方法] }
1)類別名稱遵循大寫
開頭的駝峰命名規格
2)花括號的開始、結束標記,須自成一行.
private 私有 protected 保护 public 公共 var 被视为public (不建议使用)
// 1.声明类 class Dog { // 2.定义属性 public $name = '旺财'; public $sex = null; // 3.定义方法 public function bark() { echo '汪汪~'; } } // 4.实例化 $d1 = new Dog();
實例化物件#屬性、方法的呼叫使用
-> ,來存取非靜態屬性| 方法。
範例
// 声明类 class Dog { // 定义属性 public $name = '旺财'; public $sex = null; // 定义方法 public function bark() { echo '汪汪~'; } } // 实例化 $d1 = new Dog(); // 使用属性和方法 echo $d1 -> name; echo '<br/>'; echo $d1 -> bark();內部呼叫方法在類別定義的內部被呼叫時,可以使用偽變數
$this 。
$this,就代表著正在使用的物件。
範例:
// 声明类 class Dog { // 定义属性 public $name = '旺财'; public $sex = null; public function intruduce() { echo '我的名字是'.$this->name; } }傳遞賦值#1)
簡單型別時,傳遞賦值的雙方,相互獨立。
複合型別時,傳遞賦值存的都是物件的識別符,所以變化一致。
簡單型別範例:
$a = 'abc'; // 传递赋值 $b = $a; // 更改a的值 $a = 'qq'; var_dump($a); // qq var_dump($b); // abc
複合型別範例:
class MyClass { public $str = 'abc'; } // $a 存的是对象的标识符 $a = new MyClass(); // 传递赋值 相当于把标识符赋值给了$b $b = $a; var_dump($a); // abc var_dump($b); // abc // 更改a对象str属性的值 $a -> str ='111'; // $a和$b存的都是标识符 var_dump($a); // 111 var_dump($b); // 111 // 更改a本身的值 $a = 123; var_dump($a); // 123 var_dump($b); // 111 对象标识符引用賦值不論是簡單類型也好,符合類型也好,雙方都是變化一致的。
範例:
$a = 'abc'; // 引用赋值 $c = &$a; var_dump($a); // qq var_dump($c); // qq相關推薦:
以上是php物件導向之類與實例化對象的詳細內容。更多資訊請關注PHP中文網其他相關文章!