在php中final static $this關鍵字主要是用在類中或對象中,下面我來把我學習final static $this筆記記錄下來,有需要瞭解的朋友可參考參考。
final關鍵字
php final關鍵字用來在一個函數或者類名稱前面,表明該函數不能被重寫或者該類不能被繼承。
1、final方法不能被重寫。
如果不希望類中某個方法被子類重寫,只需要在這個方法前加上關鍵字final,即設定final方法。
執行個體:
| 代碼如下 |
複製代碼 |
class ex1{ final function fn1(){ return "php"; } } class ex2 extends ex1{ function fn1(){ return "html"; } } $p= new ex2(); echo $p->fn1(); ?> |
加了final關鍵字的方法不能被重寫,運行出錯。
2、final類不能被繼承。
被聲明了final的類不能被繼承,否則出錯。
執行個體:
| 代碼如下 |
複製代碼 |
final class ex1{ private $name; } class ex2 extends ex1{ private $age; } ?> |
static關鍵字
php static關鍵字不僅可以用來聲明一個靜態變數,在類中同樣可以聲明靜態屬性或者方法,成為“類屬性”或“類方法”。
1、聲明了靜態屬性和方法後,在類中不能用$this關鍵字來引用,可以使用下面兩種方法引用:
在類中:self::靜態成員名稱
在類外:類名稱::靜態成員名稱
2、訪問該類時,可不必執行個體化,直接使用類名稱::靜態成員名稱的格式。
靜態屬性執行個體:
| 代碼如下 |
複製代碼 |
class user{ private static $count = 10; private static $sum=1; public function __construct(){ for($i=1;$i<11;$i++){ self::$sum = self::$sum * self::$count; /* 調用靜態變數 */ self::$count--; } } public function getCount(){ return self::$sum; } } $user1 = new user(); echo $user1->getCount(); ?> |
靜態方法執行個體:
| 代碼如下 |
複製代碼 |
class Math{ public static function sum($num1,$num2){ return $num1 + $num2; } public static function product($num1,$num2){ return $num1 * $num2; } } $a = 88; $b = 100; echo "兩數之和為: "; echo " "; echo Math::sum($a,$b); echo " "; $a = 66; $b = 88; echo "兩數之積為: "; echo " "; echo Math::product($a,$b); ?> |
$this關鍵字
為瞭解決php類和對象中變數與屬性的命名衝突和不確定性問題,引入了”$this”關鍵字來調用當前的對象。
在類中調用當前對象的屬性和方法,必須使用”$this->”關鍵字;
$this在建構函式中指該建構函式所建立的新對象;
方法內的局部變數不屬於對象,不使用$this關鍵字取值。
使用$this關鍵字,我們可以在類中調用對象屬性或者方法。
1、調用變數
執行個體:
| 代碼如下 |
複製代碼 |
class user{ private $n; function __construct(){ $name="Mike"; echo $this->n=$name; } } $p=new user(); ?> |
2、調用方法
執行個體:
| 代碼如下 |
複製代碼 |
class cal{ public function sum($a,$b){ return $a+$b; } public function prt($a,$c){ return $a*$c; } public function result($a,$b,$c){ $a=$this->sum($a,$b); return $this->prt($a,$c); } } $c=new cal(); echo "(2+3)*10= " .$c->result('2','3','10'); ?> |
http://www.bkjia.com/PHPjc/628824.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/628824.htmlTechArticle在php中final static $this關鍵字主要是用在類中或對象中,下面我來把我學習final static $this筆記記錄下來,有需要瞭解的朋友可參考參考。 fin...