2016-12-29 341 views
4

我明白,一個類本質上是一個對象的藍圖,但是類是一個對象的「抽象」的想法對我來說有點困難......如果任何人都可以告訴我真實的聲明的含義:「一個類是一個對象的抽象」,我會很感激。爲什麼一個類叫做對象的抽象?

我的困惑是因爲這種說法已經被不同的人有不同的解釋......

是「抽象」的意思是:

  1. 與系統的基礎知識打交道,而不是深複雜那個系統?

或意思是:

  • 只有一個抽象類可以被認爲是一個對象的抽象?
  • 由於提前, Abhigyan

    +4

    單個馬是一個具體的物理生物。一匹馬的概念是抽象的 - 它不是物理存在的,而是所有馬匹共同的一個實例。或者換句話說,馬類是所有單個馬的抽象。 – sprinter

    +1

    當藍圖實現時,請將其視爲具體實例的藍圖。 –

    +0

    進一步來說@sprinter的評論,抽象類不能有一個實例。例如,Animal類是抽象的,因爲每當你想要創建一個Animal實例時,你都必須指出要實例化哪個Animal,比如一個'Horse'實例(類型爲Animal),但不能通用) – ochi

    回答

    4

    類是一切的描述,將在一定的類型的對象。例如,一輛汽車將有一個方向盤,座椅,儀表板等,以及諸如加速,停車等功能。每輛車都是汽車物體,但概念車類似於班級。

    處理系統的基礎知識,而不是系統的深層錯綜複雜?

    一些,因爲一個類通常不會確切地描述什麼進入每個字段(例如,方向盤的顏色)

    只有一個抽象類,可以被認爲是對象的抽象?

    不,這是比較籠統的Java中的抽象關鍵字。

    基本上,一個類是一個抽象,因爲它描述了什麼是創建的,而一個對象是自己創建的。

    3

    一個類可以被實例化爲對象。它捕捉所有這些對象共有的特徵。

    1

    一個類定義了字段&行爲(方法)。它被實例化爲對象,這些對象保存這些字段的具體值。

    作爲一個術語的抽象被用於許多層面 - 最常見的是關於行爲。但在這方面,它正在使用

    我們可以更清楚地說明:類是對其實例的可能值的抽象。

    實例僞代碼:

    public class Cat { 
        String name; 
        String color; 
    } 
    
    object Cat ("Missy", "grey"); 
    object Cat ("Whiskers", "orange"); 
    object Cat ("Fluffy", "black"); 
    

    正如我們看到的,抽象類在其實例的值。