抽象基類

抽象基類

抽象類(abstract base class,ABC)就是類里定義了純虛成員函式的類。純虛函式只提供了接口,並沒有具體實現。抽象類不能被實例化(不能創建對象),通常是作為基類供子類繼承,子類中重寫虛函式,實現具體的接口。簡言之,ABC描述的是至少使用一個純虛函式的接口,從ABC派生出的類將根據派生類的具體特徵,使用常規虛函式來實現這種接口。

基本介紹

  • 中文名:抽象基類
  • 外文名:abstract base class,ABC
  • 簡稱:ABC
  • 定義了:純虛成員函式的類
定義,特點作用,

定義

抽象基類的理念:在處理繼承的問題上,ABC方法更系統性,更規範。設計ABC之前,應先開發一個模型—指出編程問題所需的類以及它們之間的相互關係。一種學院派思想認為,如果要設計類繼承層次,則只能將那些不會被用作基類的類設計為具體的類。這種設計方法更清晰,複雜度低。

特點作用

抽象類只能作為基類來使用.抽象基類必須至少使用一個純虛函式接口。(純虛函式可以在抽象類中定義)抽象基類不能創建對象實例.只能當基類被其它類繼承。原型中使用=0指出類是一個抽象基類,在類中可以不定義該函式。抽象類只能作為基類來使用,其純虛函式的實現由派生類給出。如果派生類沒有重新定義純虛函式,而派生類只是繼承基類的純虛函式,則這個派生類仍然還是一個抽象類。如果派生類中給出了基類純虛函式的實現,則該派生類就不再是抽象類了,它是一個可以建立對象的具體類了.基類的純虛函式必須有“=0”,但不一定沒有函式的實現,只是不能直接內嵌在類中.抽象基類的作用:在處理繼承問題上,更系統,更規範,如果要設計類?
定義抽象基類是為了給子類繼承實現具體的功能,它是”殘缺的類“,裡面沒有抽象方法的具體代碼,裡面的抽象方法是被子類重寫的!

相關詞條

熱門詞條

聯絡我們