java
抽象是人們所想往的藝術形式的一種,從梵高、畢加索等多數藝術家的身上便可以體現的處理。抽象是一種形式上的美感,有一種給人虛無缥缈、隻可意會不可言傳的意味。但在JAVA中的抽象類與抽象方法相對而言就顯得那麼的直接了,給程序員的感覺更像是一篇文章的副标題,本身起不到什麼作用,但是卻可以從中延伸出很多功能。java中的抽象方法就是以abstract修飾的方法,這種方法隻聲明返回的數據類型、方法名稱和所需的參數,沒有方法體,也就是說抽象方法隻需要聲明而不需要實現。
C++
含有純虛函數的類是抽象類,不能生成對象,隻能派生。他派生的類的純虛函數沒有被改寫,那麼,它的派生類還是個抽象類。 定義純虛函數就是為了讓基類不可實例化化,因為實例化這樣的抽象數據結構本身并沒有意義.或者給出實現也沒有意義 一. 純虛函數 在許多情況下,在基類中不能給出有意義的虛函數定義,這時可以把它說明成純虛函數,把它的定義留給派生類來做。定義純虛函數的一般形式為: class 類名{ virtual 返回值類型 函數名(參數表)= 0; // 後面的"= 0"是必須的,否則,就成虛函數了 }; 純虛函數是一個在基類中說明的虛函數,它在基類中沒有定義,要求任何派生類都定義自己的版本。純虛函數為各派生類提供一個公共界面。 從基類繼承來的純虛函數,在派生類中仍是虛函數。
C#
抽象方法具有以下特性:1、抽象方法是隐式的 virtual 方法。2、隻允許在抽象類中使用抽象方法聲明。3、因為抽象方法聲明不提供實實現,所以沒有方法體;方法聲明隻是以一個分号結束,并且在簽名後沒有大括号 ({ })。例如: public abstract void MyMethod();4、抽象類必須為所有接口成員提供實現。有關抽象類和抽象方法的問題:a. 一個抽象類可以同時包含抽象方法和非抽象方法。b. 抽象方法的目的在于指定派生類必須實現與這一方法關聯的行為。c. 抽象方法隻在派生類中真正實現,這表明抽象方法隻存放函數原型(方法的返回類型,使用的名稱及參數),而不涉及主體代碼。d 如果父類被聲明為抽象類,并存在未實現的抽象方法,那麼子類就必須實現父類中所有的abstract成員,除非該類也是抽象的。


















