php小白晉級筆記:詳解php抽象類和抽象方法的使用!

php抽象類定義

抽象類和接口相似,都是比較特殊的類。抽象類也是特殊一種類,接口是一種特殊的抽象類。他們的作用在理解上會困難一點。想要理解抽象類先要理解抽象方法,在面向對象的編程語言中,一個類可以很多子類,而每一個類中至少有一個公共方法作為外部訪問的它(父類)的接口,為了方便類之前繼承就引入了抽象方法。

什麼是php抽象方法?

抽象方法是沒有方法體的方法,沒有方法體是指方法聲明時沒有花括號以及其中的內容,而是聲明方法時直接在方法名後加上分號結束,聲明抽象方法要使用abstract關鍵字修飾。聲明抽象方法格式:abstract function();

什麼是php抽象類?

只要聲明抽象方法的類就是抽象類,抽象類也要使用abstract關鍵字修飾,抽象類中可以有不是抽象方法的方法和成員屬性,但訪問權限不能是私有(private關鍵字修飾的)。下面是個簡單的抽象類的聲明,在抽象類person聲明方法foot()和抽象方法say(),定義三個成員屬性。

php小白晉級筆記:詳解php抽象類和抽象方法的使用!

PHP中的抽象類作用?

抽象類是不能直接使用,抽象類中沒有被實現的抽象方法,所以抽象類是不能被實例化的,創建不了對象,也就不能使用它。抽象類不能直接使用,它有什麼作用?使用抽象類包含了繼承關係,它作為它的子類定義的公共接口,它的操作交給它的子類實現。換句話說抽象類是作為子類重載模板使用的,在某種程度上說抽象類就是一種規範,這種規範是要求它的子類遵守,子類按照自己的需求去實現。如下圖所示,子類student實現了父類person中的抽象方法say(),$p1是將子類student實例化。

php小白晉級筆記:詳解php抽象類和抽象方法的使用!

抽象類中的方法不能自己去實現,需要靠子類中去實現,抽象類可以看做子類實現的規範和模板。今天關於抽象類先介紹到這,下一次咱們談談php接口的定義,大家有什麼更好的建議咱們討論一下。


分享到:


相關文章: