PHP的類別修飾符與存取修飾符

不言
發布: 2023-04-02 17:54:02
原創
2431 人瀏覽過

這篇文章主要介紹了關於PHP的類別修飾符與存取修飾符,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

類別修飾符

  • 1.abstract修飾的類別為抽象類,如果一個類別中含有抽象方法那麼這個類別就是抽象類別(當然一個類別中沒有抽象方法,我們也可以定義這個類別為抽象類別),那麼什麼是抽象方法呢,抽象方法就是沒有方法體的方法(沒有大括號和裡面的內容),抽象方法前面也加上abstract修飾。抽象類別本身不能被實例化,只有一個類別繼承了它,並且覆寫了它所有的抽象方法,這樣我們可以實例化它的子類別

abstract class My{
    abstract function say();
}
//
abstract class My{
     function say(){
        echo 'hello';
    }
}
登入後複製

  • 2.interface修飾的類別為接口,接口與抽象類別有點類似,不過他們的區別是,接口所有的方法都是抽象方法,接口的抽象方法前面沒有abstract修飾,成員屬性必須為常數。介面引用區別於類別繼承關鍵字 extends ,繼承只能只是單一性,而介面可以使用關鍵字 implements 多個引用並用逗號分開。

interface demo { 
const NAME = "常量对象属性"; 
function fun1(); 
function fun2(); //抽象方法。 
} 
class MyPc extends Root implements demo , demo2 , demo3 { 
... 
}
登入後複製
  • 3.final修飾的類別為終結類,它不能被繼承。

存取修飾符

  • 1.public 公共的方法和屬性,能在所有的類別中使用


  • 2.static 靜態的方法和變數

如果存取控制權限允許,可不必建立該類別物件而直接使用類名加兩個冒號「::」調用,static的屬性,在記憶體中只有一份,為所有的實例共用, 靜態方法不能調用非靜態屬性。不能使用self::呼叫非靜態屬性。

function test(){
static $a=1;
$a*=2;
echo $a."\n";
}
test()
test()
test()
//打印结果
//2
//4
//8
登入後複製

靜態變數的初始化賦值只有一次,後面的test方法不會再初始化。

  • 3.private 修飾的方法和變數是私有的,只能在本類中呼叫(在其他的類別中實例化本類,是無法呼叫private修飾的方法和變數)


  • 4.proteced 受保護的方法和變量,只能在本類別和本類別的子類別中使用


  • 5.final 修飾的方法不能被覆寫。

以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網!

相關推薦:

PHP快速產生現代化form表單的方法

php實作共享記憶體進程通訊函數(_shm )

以上是PHP的類別修飾符與存取修飾符的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
php
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!