C中,抽象類和介面有哪些區別

2021-03-10 19:19:34 字數 686 閱讀 5498

1樓:匿名使用者

抽象類的成員可以具有訪問級別,而介面

的成員全部public級別

抽象類可以包含內欄位,而界面容不可以(介面可以用屬性來代替)抽象類可以繼承介面,而介面不能繼承抽象類

抽象類的成員可以具有具體實現,而介面不行

這些是語法上的區別,實際上用途也不同

簡單的例子

汽車能鳴叫(beep),手機也能響鈴(beep)如果要為它們都定義乙個方法beep

用抽象類就不合適了,畢竟區別太大

而可以定義乙個ibeep的介面,讓他們有相同的行為beep所以說 抽象類適合用來表現共同的本質(比如貓,狗都是動物)而介面更合適表現擁有共同的行為

2樓:匿名使用者

1. 介面支援多繼承;抽象類不能實現多繼承。

2. 介面只能定義抽象規則;抽象類既可以定義規內則,還可能提供容已實現的成員。

3. 介面是一組行為規範;抽象類是乙個不完全的類,著重族的概念。

4. 介面可以用於支援**;抽象類不能實現**,因為繼承不支援。

5. 介面只包含方法、屬性、索引器、事件的簽名,但不能定義欄位和包含實現的方法;抽象類可以定義字段、屬性、包含有實現的方法。

6. 介面可以作用於值型別和引用型別;抽象類只能作用於引用型別。例如,struct就可以繼承介面,而不能繼承類。

搜的。。

為什麼需要抽象類?c中怎麼宣告抽象類

在c 中使用關鍵字 bai abstract 來定義抽du象類和抽象方法。zhi不能初始化的dao類被叫做抽象類,它們專只提供部屬分實現,但是另乙個類可以繼承它並且能建立它們 的例項。乙個包含乙個或多個純虛函式的類叫抽象類,抽象類不能被例項化,進一步乙個抽象類只能通過介面和作為其它類的基類使用.c ...

c 中抽象類到底有什麼用處,C 中 抽象類和虛基類用途上有什麼區別

提供了做蛋糕的模子和一套流程,至於做出來的蛋糕具體是什麼口味還得由你自己決定,但至少能保證你做出來的是蛋糕而不是麵包或者別的什麼,是共性與個性的統一!抽象類就像是乙個物種類一樣!比如。抽象類就是鳥這個物種。這個鳥是沒有這個動物的。從這個鳥類裡面繼承出來了雞孔雀等。然後虛函式就比方是特徵。比如雞的特徵...

php抽象類和普通類的區別是啥啊,為啥連線資料庫用抽象啊

因為抽象類不能被例項化,你總不希望除了自己以外的人呼叫自己的程式連線資料庫吧 php的抽象類和普通類的區別是什麼 1.抽象類 概念解釋 顧名思義,很抽象就是不具體,不能例項化成具體的例項,可以理解成類的模板 應用場景 比如多國語言,定義乙個抽象類,各國語言都繼承這個抽象類來開發自己的語言,作用 抽象...