我所理解的介面和抽象類

2021-08-27 02:56:05 字數 938 閱讀 1730

參考:

在實踐過程中,抽象類和介面都經常用到。但是,對於什麼情況下該用抽象類,什麼情況下該用介面,總是有點搞不清楚。

於是,在閱讀別人對著兩者理解之後,終於對兩者的區別有了更進一步的理解。

抽象類重點在於對於屬性和方法的繼承;而介面則重在多個類(可能他們之間毫無聯絡)對同一種方法或者屬性的描述,體現了多型性。

抽象出乙個類(類),定義乙個抽象方法(判斷是否會飛)

1、抽象類

例如:抽象出乙個鳥類。對於鳥類,抽象出乙個方法。用來判斷這種鳥會不會飛。

由於鳥類中的canfly是抽象方法,因此所有繼承鳥類的子類都必須實現這個canfly方法。

/**

* 鳥*/public abstract class bird

/** * 燕子

* */

public class swallow extends bird

}/**

* 貓頭鷹

* */

public class owl extends bird

}

假如現在有這種狀況。要同時描述鳥類和飛機,它們可以有乙個共同的方法來判斷是否能飛。但是這個時候,兩者肯定是沒有繼承關係的啦。

你不能指望飛機通過繼承鳥類來獲得這個canfly的方法。

此時,你就可以把canfly抽象到介面中,然後鳥類和飛機都繼承這個介面。

2、介面

public inte***ce ifly 

/** * 鳥

*/public class bird implements ifly

}/**

* 飛機

* */

public class airplane implements ifly

}

我所理解的抽象類和抽象方法

用了1年的asp.net mvc來開發,但我對抽象類和抽象方法還是比較模糊,看過許多文件,下面我就講我所理解的抽象類和抽象方法寫下來,加深記憶。抽象類是什麼,就是包含了至少乙個抽象方法的類,用abstract修飾,也可以這麼說,你可以用abstract宣告乙個抽象類,但是可以不要抽象方法,但是這又和...

介面和抽象類理解

介面和抽象類有什麼區別 你選擇使用介面和抽象類的依據是什麼?介面和抽象類的概念不一樣。介面是對動作的抽象,抽象類是對根源的抽象。抽象類表示的是,這個物件是什麼。介面表示的是,這個物件能做什麼。比如,男人,女人,這兩個類 如果是類的話 他們的抽象類是人。說明,他們都是人。人可以吃東西,狗也可以吃東西,...

我對介面與抽象類的理解

1 從程式設計思想上來講,抽象類首先是類,具有分類學的意義,有兩層含義,一是以研究物件的整體來劃分的,二是互斥性。類一定存在具體的物件才有意義。分類一般採用樹型層級進行。一般情況下,上一層分類都是對下一層分類的分類。而介面表達的是一種標準,本身不具有分類學意義,但可以作為一種分類的屬性。介面是從物件...