国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

PHP面向對象開發之類的常用關鍵字

2024-09-04 11:43:34
字體:
來源:轉載
供稿:網友

php中類的常用關鍵字包括有:鎖(fianl)、有點類似與this關鍵字(self)、靜態屬性(static)、常量關鍵字(const)下面我來給大家整理整理。

類中的常用關鍵字

1.fianl:鎖

2.self:有點類似與this關鍵字

3.static:靜態屬性

4.const:常量關鍵字

1.關鍵字:fianl

用來定義類和方法的一個重要關鍵字,當定義類的時候該類不能被繼承,用來定義方法的時候該方法不能被重載。

1. final不成修飾成員屬性(類中常不是用這個關鍵字)

2. final只能修飾類和方法

作用:

使用final修飾的類 不 能被子類繼承

使用final修飾的方法不能被子類去覆蓋

用來限制類不被繼承,方法不被覆蓋就使用fianl

類使用 final 關鍵字的例子:

  1. final class Person 
  2.     ...... 

final 定義的類被繼承時會提示如下錯誤:

Fatal error: Class Student may not inherit from final class (Person) in ...

方法使用 final 關鍵字的例子:

  1. class Person 
  2.     final function say() 
  3.     { 
  4.         ...... 
  5.     } 

Example #1 Final 方法示例,代碼如下:

  1. <?php 
  2. class BaseClass { 
  3.    public function test() { 
  4.        echo "BaseClass::test() calledn"
  5.    } 
  6.     
  7.    final public function moreTesting() { 
  8.        echo "BaseClass::moreTesting() calledn"
  9.    } 
  10. class ChildClass extends BaseClass { 
  11.    public function moreTesting() { 
  12.        echo "ChildClass::moreTesting() calledn"
  13.    } 
  14. // 產生 Fatal error: Cannot override final method BaseClass::moreTesting() 
  15. ?> 

Example #2 Final 類示例,代碼如下:

  1. <?php 
  2. final class BaseClass { 
  3.    public function test() { 
  4.        echo "BaseClass::test() calledn"
  5.    } 
  6.     
  7.    // 這里無論你是否將方法聲明為final,都沒有關系 
  8.    final public function moreTesting() { 
  9.        echo "BaseClass::moreTesting() calledn"
  10.    } 
  11. class ChildClass extends BaseClass { 
  12. // 產生 Fatal error: Class ChildClass may not inherit from final class (BaseClass) 
  13. ?> 

2.關鍵字:self

在訪問PHP類中的成員變量或方法時,如果被引用的變量或者方法被聲明成const(定義常量)或者static(聲明靜態),那么就必須使用操作符::,反之如果被引用的變量或者方法沒有被聲明成const或者static,那么就必須使用操作符->。

另外,如果從類的內部訪問const或者static變量或者方法,那么就必須使用自引用的self,反之如果從類的內部訪問不為const或者static變量或者方法,那么就必須使用自引用的$this

格式:self::類內部成員(屬性或者方法)

|| 等價于

類名::類內部成員(屬性或者方法)

注意:因為沒有數理化類訪問內部屬性或方法是沒有意義的,所以self一般用來訪問類中的:靜態成員,常量,其他定義的內容。

3.關鍵字:static

內存優化,用來定義靜態屬性或方法,可以在類未被實例化時就能使用。靜態屬性單獨占用內存,而不會因創建多個對象而重復占用內存。

格式:

  1. class class1 { 
  2. static $name
  3. static function fun1 { 
  4. ... 

靜態成員的訪問(類內部):

self::靜態成員

類名稱::靜態成員

靜態成員的訪問(類外部):

類名稱::靜態成員

4.關鍵字:const

用來定義類中的常量,只能修飾類當中的成員屬性。

格式:

  1. class class1 { //建議用大寫定義,不使用$符號。 
  2. const NAME; 
  3. ... 

看個PHP const小例子吧,代碼如下:

  1. <?php    
  2. class say_const{    
  3. const CHARSET="中國";    
  4. publice function say_hello() 
  5. {    
  6. echo slef::CHARSET;    
  7. }    
  8. }    
  9. $const1=new say_const()    
  10. $const1->say_hello();    
  11. ?> 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 乌鲁木齐市| 曲阳县| 监利县| 马尔康县| 武强县| 巴中市| 贞丰县| 灵宝市| 新巴尔虎右旗| 武功县| 拉萨市| 芮城县| 康乐县| 怀柔区| 肇东市| 永福县| 北川| 元谋县| 聊城市| 海安县| 敖汉旗| 松阳县| 新泰市| 隆德县| 斗六市| 宁化县| 龙口市| 济阳县| 康马县| 门源| 界首市| 资源县| 沈阳市| 成安县| 阿巴嘎旗| 永定县| 吕梁市| 曲麻莱县| 河南省| 会宁县| 荃湾区|