2015-12-11 181 views

回答

0

一個抽象類不能被實例化,所以當你要強制的具體實現的存在,它的使用。

abstract class Identifiable{ 
    public int Id {get; set;} 
} 

然後,在你的模型中的每個班級被迫有一個ID字段,而在同一時間沒有人能夠利用新身份的(:爲EJ,在DDBB所有對象的基類可以聲明),因爲它沒有任何意義。

0

通常,抽象類用於定義實現,並且旨在從具體類繼承。這是強制班級設計師和該班級用戶簽訂合同的一種方式。如果我們希望從一個抽象類創建一個具體類(一個可以被實例化的類),我們必須爲每個基類的抽象成員函數聲明和定義一個匹配的成員函數。否則,如果基類的任何成員函數未定義,我們將創建一個新的抽象類。

抽象類在概念上是一個無法實例化的類,通常實現爲具有一個或多個純虛擬(抽象)函數的類。

例子:

`class AbstractClass { 
public: 
    virtual void AbstractMemberFunction() = 0; // Pure virtual function makes 
              // this class Abstract class. 
    virtual void NonAbstractMemberFunction1(); // Virtual function. 

    void NonAbstractMemberFunction2(); 
}; 
0

抽象類的意義在於,我們可以來形容的東西的抽象接口從現實世界中(沒有任何實現的話)。正因爲如此,抽象類正在Windows中的COM技術中廣泛使用。例如,如果您需要在某些系統中創建設備驅動程序的靈活機制,那麼您可能需要描述設備,驅動程序等實體。如果描述的設計良好,那麼用戶您的機制將創建一個簡單的新驅動程序。

相關問題