抽象類(abstract class)和混凝土等級(concrete class)的區別

大多數流行的現代面向物件程式語言(如Java和C)都是基於類的。它們透過類的使用來實現封裝、繼承、多型等面向物件的概念。類是現實世界物件的抽象表示。類可以是具體的,也可以是抽象的,這取決於其方法功能的實現級別。一個具體的類完全實現了它的所有方法。抽象類可以被視為常規(具體)類的有限版本,其中它可能包含部分實現的方法。通常,具體類被稱為(僅僅)類。...

抽象類與具體類

大多數流行的現代面向對象編程語言(如Java和C)都是基於類的。它們通過類的使用來實現封裝、繼承、多態等面向對象的概念。類是現實世界對象的抽象表示。類可以是具體的,也可以是抽象的,這取決於其方**能的實現級別。一個具體的類完全實現了它的所有方法。抽象類可以被視為常規(具體)類的有限版本,其中它可能包含部分實現的方法。通常,具體類被稱為(僅僅)類。

什麼是混凝土班?

默認類是一個具體類。class關鍵字用於定義類(例如在Java中)。通常它們被簡單地稱為類(沒有形容詞concrete)。具體類描述真實世界對象的概念表示。類具有稱為屬性的屬性。屬性被實現為全局變量和實例變量。類中的方法表示或定義這些類的行為。類的方法和屬性稱為類的成員。通常,封裝是通過使屬性私有化來實現的,同時創建可用於訪問這些屬性的公共方法。對象是類的實例。繼承允許用戶從其他類(稱為超級類)擴展類(稱為子類)。多態性允許程序員用一個類的對象代替它的超類的對象。通常,在問題定義中找到的名詞直接成為程序中的類。同樣,動詞變成了方法。Public、private和protected是類的典型訪問修飾符。

什麼是抽象類?

抽象類使用Abstract關鍵字聲明(例如在Java中,)。通常,抽象類,也稱為抽象基類(ABC),不能實例化(不能創建該類的實例)。因此,只有當編程語言支持繼承(通過擴展類創建子類的能力)時,抽象類才有意義。抽象類通常表示一個抽象的概念或實體,有部分實現或沒有實現。因此,抽象類充當從中派生子類的父類,這樣子類將共享父類的不完整特性,並且可以添加功能來完成它們。

抽象類可以包含抽象方法。擴展抽象類的子類可以實現這些(繼承的)抽象方法。如果子類實現了所有這樣的抽象方法,它將成為一個具體類。但如果不是這樣,子類也會變成抽象類。所有這一切意味著,當程序員指定一個類作為一個抽象類時,她是說這個類將是不完整的,它將有需要繼承子類完成的元素。這是在兩個程序員之間創建契約的好方法,它簡化了軟件開發中的任務。編寫代碼來繼承的程序員需要嚴格遵循方法定義(當然也可以有自己的實現)。

抽象類和具體類有什麼區別?

  • 發表於 2020-11-03 01:29
  • 閱讀 ( 19 )
  • 分類:科技

你可能感興趣的文章

班(class)和介面(interface)的區別

...子類中可以訪問受保護的成員。 什麼是介面(interface)? 抽象是面向物件程式設計的支柱。它將隱藏實現細節並向用戶顯示功能。抽象是透過使用抽象類和介面來實現的。抽象方法沒有實現。至少包含一個抽象方法的類稱為抽象...

  • 發佈於 2020-10-24 04:25
  • 閲讀 ( 57 )

美鐵客車(amtrak coach)和商務艙(business class)的區別

...多便利和舒適。為了選擇最適合你的座位選擇,瞭解這些等級的差異是很重要的。美國鐵路客車和商務艙的主要區別在於,商務艙比長途客車更昂貴、更舒適。此外,商務艙必須提前預定,而教練艙有保留和無保留兩種選擇。 ...

  • 發佈於 2020-11-02 23:50
  • 閲讀 ( 146 )

摘要(abstract)和具體思路(concrete thinking)的區別

...這兩個術語,並找出它們之間的差異。 什麼是抽象思維(abstract thinking)? 首先,抽象思維可以解釋為一種思維方式,這種思維方式集中於對某一事物的概念化或概括化。一個抽象的思考者可以從別人看不到的角度來看待一個特定...

  • 發佈於 2020-11-04 10:41
  • 閲讀 ( 50 )

面向物件程式設計中抽象的初學者指南

... 你知道的配料,像白米,都是混凝土。其他元素是抽象的。你知道這是薩爾薩,但什麼樣的?或者,如果有人隨便遞給你一個玉米煎餅,那麼整個玉米煎餅都是抽象的。 ...

  • 發佈於 2021-03-30 04:01
  • 閲讀 ( 81 )

一級防腐劑(class-i preservative)和二級防腐劑(class-ii preservative)的區別

一級防腐劑與二級防腐劑 食品中新增防腐劑以防止酸敗、黴菌生長和**。有天然的和合成的預防劑,它們被廣泛用於防止食物變質。鹽、硝酸鹽、糖、植物油、蜂蜜、山梨酸鹽、亞硫酸鹽和苯甲酸鹽是一些廣泛使用的防腐劑。 ...

  • 發佈於 2021-06-23 08:50
  • 閲讀 ( 46 )

erd公司(erd)和類圖(class diagram)的區別

...0&波黑=929 實體關係圖 軟體工程中資料的概念化和抽象化表示稱為實體關係建模。此建模用於對資料庫進行建模。它是一種生成系統概念模型的方法。這種方法生成的圖稱為實體關係圖。這些圖表沒有顯示一個單獨的實體...

  • 發佈於 2021-06-23 21:07
  • 閲讀 ( 104 )

中上層階級(upper middle class)和中下層階級(lower middle class)的區別

...)認為,中產階級是處於上層階級和工人階級之間的社會等級中間的群體。一般來說,如果一個家庭三分之一的收入用於可自由支配的支出,那麼這個家庭就被認為屬於中產階級。“上層階級”和“下層中產階級”是社會學的概...

  • 發佈於 2021-06-24 18:08
  • 閲讀 ( 56 )

班(class)和結構(struct)的區別

...讓我們以表格的形式來看上述差異。 序號 概念 差異 等級 結構 1 可重用性 完全可重覆使用 不可重覆使用 2 能見度 類的所有函式對其物件都是可見的 結構的物件的資料對同一結構的其他物件不可見 三 按引用傳遞和按...

  • 發佈於 2021-06-25 00:32
  • 閲讀 ( 50 )

抽象類(abstract class)和c中的介面#(interface in c#)的區別

...讓我們詳細討論一下兩者的理論方面。 什麼是抽象類(an abstract class)? 抽象類是一種特殊型別的類,它充當其他類的基,不能例項化。抽象類的實現邏輯由其派生類提供。為了使一個類抽象,使用了“abstract”修飾符,這意味著...

  • 發佈於 2021-06-25 03:34
  • 閲讀 ( 56 )

抽象(abstraction)和封裝(encapsulation)的區別

...藏了一些東西,但是它們也有各自的區別。 什麼是抽象(abstraction)? 抽象是一個基本的OOP概念,它只關註物件的相關資料,隱藏所有不相關的細節,這些細節可能是通用的,也可能不是專用的行為。它隱藏了背景細節,強調了減...

  • 發佈於 2021-06-25 03:41
  • 閲讀 ( 57 )
YANYINGWU
YANYINGWU

0 篇文章

作家榜

  1. admin 0 文章
  2. 孫小欽 0 文章
  3. JVhby0 0 文章
  4. fvpvzrr 0 文章
  5. 0sus8kksc 0 文章
  6. zsfn1903 0 文章
  7. w91395898 0 文章
  8. SuperQueen123 0 文章