php什麼時候使用抽象類介面,php為什麼要引入介面類,抽象類

2021-03-04 05:07:40 字數 1782 閱讀 5514

1樓:那段逝去的過往

系統的外掛程式介面就是乙個很直觀經常用到抽象類的地方。許多系統允許自己的系統之上開發者可以去製作各種各樣的外掛程式,那麼這些外掛程式要在系統之上去執行,就必須要滿足我的一些條件,那麼這個時候抽象類就挺身而出,告訴它,你要做外掛程式,必須要滿足我這些條件。

php抽象類是個規則嗎?大概什麼情況用到抽象類呢?php又什麼在什麼情況下使用介面呢?

2樓:匿名使用者

差不多,在你要做面對物件設計的時候才會用到,比如大量的**復用,低耦合

php為什麼要引入介面類,抽象類

3樓:匿名使用者

去看介面類,抽象類的定義

4樓:匿名使用者

其實抽象類和介面類有一部分很像,記得在**看見這樣一句話,抽象類就把類像的部分抽出來,這句看上去很搞笑,其實它說出了抽象類的真理,抽象類的作用是

你發現你的很多類裡面用很多方法你不斷的在重複寫,那你就可以考慮使用抽象類了,你可能會說「我不是可以重寫乙個類每個公共類我個例項化乙個這個公共類,呼叫相同的方法就可以了」,這裡是可以,實際上抽象類做的工作也就是這個,不過他省去了你例項化的這個步驟,讓你就像直接呼叫本類方法一樣方便,而且你還可以過載這個方法。

5樓:匿名使用者

能使程式解耦,便於後期維護更新。

php中抽象類和介面的區別

6樓:越勒

區別: 1、對介面的使用是通過關鍵字implements。對抽象類的使用是通過關鍵字extends。

當然介面也可以通過關鍵字extends繼承。 2、介面中不可以宣告成員變數(包括類靜態變數),但是可以宣告類常量。抽象類中可以宣告各種型別成員變數,實現數

php的抽象類,介面類的區別和選擇

7樓:嫻舞小魔靈

一、抽象類裡面的方法可以有實現,但是介面裡面的方法確是只能宣告。

二、介面是設計的結果

抽象類是重構的結果

三、java不支援多重繼承,所以繼承抽象類只能繼承乙個,但是可以實現多個介面。

1 介面是核心,其定義了要做的事情,包含了許多的方法,但沒有定義這些方法應該如何做。

2 如果許多類實現了某個介面,那麼每個都要用**實現那些方法3 如果某一些類的實現有共通之處,則可以抽象出來乙個抽象類!

php抽象類和介面的區別

8樓:山下閒人

抽象類是作為類的抽象,它注重這個東西是什麼,但介面是能力的抽象,它不注重乙個物件是什麼,而是能幹什麼,這才是兩者的本質區別。乙個類最多只能繼承乙個抽象類,但可以實現多個介面。

抽象類:對一類事物的抽象。

介面:對某一行為抽象。

php抽象類和介面的區別

9樓:匿名使用者

抽象類中可以包含方法的實現,介面中的方法只能是方法的宣告。

php抽象類和普通類有什麼不同

10樓:夢3有個方向

兩塊錢解決你的問題。

抽象類沒有具體公用,需要你去把它完善,說得合理點,它就是定乙個軌道給你,你要行車,必須在這個規定的軌道上走,至於你怎麼走需要你去實現。(類似框架,有限定,但也有自由)。

普通類應該不需要說了吧?具有實際功能操作的類,封裝好的技能,一點選就釋放。抽象類就是玄幻世界裡,需要讀條的大魔法。

什麼情況下使用抽象類,什麼情況下使用介面

能使用抽象類就用抽象類 在不能使用類的時候才使用介面 畢竟你只能繼承乙個介面嘛 每個類只能extends乙個父類,但是能implements很多介面。什麼情況下使用抽象類,什麼情況下使用介面 介面和抽象類,都可以看做乙個抽象的型別,而其他的類都可以看做是乙個具體類 介面裡面方法都是沒有實現的,抽象類...

PHP中子類如何呼叫抽象類中的非抽象方法

abstract class a class f extends a m new f m d 你要搞清楚變數和屬性,你想用super name 是想通過繼承來訪問name,那麼name必須是屬性,屬性就是通過訪問器來訪問,這樣定義privatestring name 而你的private strin...

Java中抽象類和介面的區別,java中抽象類和介面的區別

簡單來說,介面是公開的,裡面不能有私有的方法或變數,是用於讓別人使用的,而抽象類是可以有私有方法或私有變數的,另外,實現介面的一定要實現介面裡定義的所有方法,而實現抽象類可以有選擇地重寫需要用到的方法,一般的應用裡,最頂級的是介面,然後是抽象類實現介面,最後才到具體類實現。還有,介面可以實現多重繼承...