抽象思維之共性 抽象類的作用 介面的作用

2022-03-04 11:35:33 字數 814 閱讀 9986

今天梁方明老師,給我們主要講解了抽象思維的重要性、抽象類的作用、介面的作用、抽象類和介面的作用。下面我講對今天所學的知識做個回顧,有不對的和不足的地方,還請大家指出。

首先先從乙個例子入手,冒泡法排序的實現過程是:

第一種實現過程:

public void bublesort(int array)}}

}這個氣泡排序方法只能比較陣列元素為整型的陣列,如果想比較double,float,long *等型別的陣列,則必須要對這個方法改寫或者過載這個方法(過載不能在乙個類中進行)。這段**不能復用,這是這個方法的最大的弊端。有沒有一種方法能夠讓氣泡排序能夠復用呢?那麼我們想一下各種型別的氣泡排序有哪些共性呢?

一、抽象思維的重要性

什麼是抽象思維?我認為抽象思維就是在不同中找相同,在變化中找不變。把這些相同的和不變的東西理解為共性。而共性的東西是能夠共用的。提高抽象思維的能力就是提高抽取不同事物的共性的能力。不同的事物不僅僅是包括現實中具體的事物。在這裡,事物是乙個廣義的概念,還包括各種方法中的共性部分。

再來討論一下上面的氣泡排序的例子,對於不同的資料型別,進行氣泡排序時,它們的排序方法中哪些是相同的呢?哪些是不同的呢?通過思考,我們發現,不同的部分僅在於比較部分,即array[j]>array[j+1]。如果我們想以person類中的age欄位來對person物件排序,那麼我們的比較就是array[j].age>array[j+1].age。對於這個方法中的不同部分和相同部分,我們應該分別抽取出來。由於各種資料型別的比較方法不同,所以比較方法我們可以定義為抽象方法。需要進行比較的類繼承這個抽象類,重寫這個抽象方法。從而,氣泡排序的共性部分能夠復用。

因此,氣泡排序方法應該改寫為:

抽象方法 抽象類 介面 介面和抽象類的區別

某個父類只知道子類因該包含什麼樣的方法,無法知道這些子類如何實現這些方法。抽象類包含該方法但沒有對該方法的具體實現。有抽象方法的類只能被定義為抽象類,抽象類裡可以沒有抽象方法。抽象方法和抽象類的規則 public abstract class shape private string color p...

介面,抽象類,抽象方法

一.抽象方法 1.用abstract修飾 2.沒有方法體 二.抽象類 1.含有抽象方法的類叫抽象類 抽象類無法建立物件,只有被繼承並且覆蓋重寫後 去掉抽象 才能使用 三.介面 1.抽象方法 2.常量,常量必須是final的,比如電源中引數不能夠改變 3.預設 方法公升級用 4.靜態方法和私有方法 介...

介面,抽象類

介面 用inte ce定義介面 由常量定義和方法定義兩部分組成 格式 修飾符 inte ce a extends b 在類中實現介面,方法名 返回值型別 引數的個數和型別必須與介面中完全一致 實現介面中所有方法 實現多個介面,中間用逗號分隔 抽象類包含抽象方法的乙個類 沒有足夠資訊描繪物件 用abs...