php中final static $this關鍵字學習筆記_PHP教程

來源:互聯網
上載者:User
在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...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.