1. 程式人生 > >關於java中的抽象以及抽象的進步

關於java中的抽象以及抽象的進步

抽象類特點  (1)抽象類不能例項化,即不能對其用new運算子;  (2)抽象方法的類必須是抽象類; (3)抽象類中的方法不一定都是abstract方法,它還可以包含一個或者多個具體的方法;  (4)即使一個類中不含抽象方法,它也可以宣告為抽象類;  (5)抽象類中的抽象方法要被使用,必須由子類複寫起所有的抽象方法後,建立子類物件呼叫。  (6)如果子類只覆蓋了部分抽象方法,那麼該子類還是一個抽象類。

所有程式語言的最終目的都是提供一種“抽象”方法。一種較有爭議的說法是:解決問題的複雜程度直接取決於抽象的種類及質量。這兒的“種類”是指準備對什麼進行“抽象”?組合語言是對基礎機器的少量抽象。後來的許多“命令式”語言(如FORTRAN,BASIC和C)是對組合語言的一種抽象。與組合語言相比,這些語言已有了長足的進步,但它們的抽象原理依然要求我們著重考慮計算機的結構,而非考慮問題本身的結構。在機器模型(位於“方案空間”)與實際解決的問題模型(位於“問題空間”)之間,程式設計師必須建立起一種聯絡。這個過程要求人們付出較大的精力,而且由於它脫離了程式語言本身的範圍,造成程式程式碼很難編寫,而且要花較大的代價進行維護。由此造成的副作用便是一門完善的“程式設計方法”學科。