天天看點

php關鍵字:final self static const

<?php

//關鍵字:final self static const

//1.final用于定義類和方法的一個重要關鍵詞,

//當定義類時該類不能被繼承,當定義方法的時候這個方法不能不被重載

// final class class1{

// final function fun1(){

//

// }

//}

// class mypc{

//static $name=" my pc";

// static function power(){

// echo self::$name.", open......";

//echo self::$name.", open......";

// echo "</br>";

// }

///}

//class mypc1 extends mypc{

//function power(){

//echo mypc::power().",yes";

// }

//s}

// echo "</br>";

// mypc::$name="my mp3";//可以直接修改靜态變量

// echo mypc::$name;//可以直接輸出靜态變量

//$po=new mypc1();

// $po->power();

//2.self用于用類通路目前類中的内容好的關鍵詞類似this關鍵詞,

//但是this是需要類執行個體化後才可以使用的,self可以直接通路目前類中的内部成員

//slef::類内部成員(屬性或者方法)等價于類名::類内部成員(屬性或者方法)

//注意:因為沒有執行個體化類通路内部屬性或者方法是沒有意義的,

//是以self一般用來通路類中的:靜态成員,常量,或者其他定義内容

//3.static用于定義類的靜态屬性或者方法,可以在類未被執行個體化時使用

//靜态屬性單獨占用記憶體而不會因建立了多個對象時而導緻同樣的方法或屬性被重複占用

//靜态成員的通路:類名::靜态成員 self::靜态成員(類内部通路靜态成員)類名::靜态成員(類外部通路靜态成員)

//靜态方法内部禁止出現非靜态内容

// class cl2{

// static $name;

// static function satfun(){

// }

// }

//3.const用于定義類的常量,類似于php中define const隻能修飾類中的成員屬性

//注意:使用大寫,常量不使用$,常量不允許改變

class Con{

const CONNAME="my pc";

static function confun(){

echo self::CONNAME.",open";

}

}

$con =new Con();

$con->confun();

?>

php