1. 程式人生 > >原生php 使用重點 要點 忽略點!

原生php 使用重點 要點 忽略點!

protect 功能實現 protected nds 直接 名稱 忽略 new 大於等於


1.實例化類時,需要用 :: 調用常量
1 class MyClass3{
2     const CONST_VALUE = ‘A constant value‘;
3 }
4 
5 $obj3 = new MyClass3();
6 echo $obj3::CONST_VALUE;
2.使用靜態方法或者靜態變量 可以不實例化直接用類名 必須使用 :: 調用
 1 class MyClass4
 2 {
 3     public static $my_static = ‘靜態方法的變量<br>‘;
 4 
 5     public static function doubleColon() {
6 echo self::$my_static . "\n"; 7 } 8 } 9 10 echo MyClass4::$my_static; 11 MyClass4::doubleColon();
3.抽象類和抽象方法說明
(1).抽象類不能被實例化
(2).抽象類中至少有一個方法是被聲明為抽象的
(3).抽象的方法只是聲明了其調用方式(參數),不能定義其具體的功能實現。
(簡單來說,也就是只能定義抽象方法的名稱,不能在裏面寫邏輯處理)
(4).繼承一個抽象類的時候,子類必須定義父類中的所有抽象方法
(5).子類重定義父類抽象方法時,聲明等級必須大於等於父類
(6).子類可以定義父類中不存在的可選參數
(7).附屬知識點 花括號來界定變量名的邊界 "{}"
 1 abstract class AbstractClass
 2 {
 3  // 強制要求子類定義這些方法
 4     abstract protected function getValue();
 5     abstract protected function prefixValue($prefix);
 6 
 7     // 普通方法(非抽象方法)
 8     public function printOut() {
 9         print $this->getValue() . "\n";
10 } 11 } 12 13 class ConcreteClass1 extends AbstractClass 14 { 15 public function getValue() { 16 return "重定義父類的抽象方法"; 17 } 18 19 public function prefixValue($prefix,$xinxin="") { 20 return "{$prefix}重定義父類的抽象方法{$xinxin}哈哈"; 21 } 22 } 23 24 $obj5 = new ConcreteClass1(); 25 echo $obj5->getValue(); 26 echo "<br>"; 27 echo $obj5->prefixValue("多加個參數 "," 新的參數");

原生php 使用重點 要點 忽略點!