黑馬程式設計師 抽象類 介面

2021-06-20 23:06:26 字數 1621 閱讀 2325

---------------------- asp.net+unity開發、.net培訓、期待與您交流! ----------------------

抽象類 abstract 

1.抽象方法必須定義在抽象類中。

2.抽象方法和抽象類必須被abstract修飾。

3.抽象類不可以用new建立物件,因為呼叫抽象方法沒意義。

4.抽象類中的方法要被使用必須由子類覆寫其所有的抽象方法後,建立子類物件呼叫,如果子類只覆蓋了部分抽象方法,那麼該子類還是乙個抽象類。 

當多個類中出現相同功能,但功能主體不同,可以進行抽取,只抽取功能定義,而不抽取功能主體。

抽象模擬一般類多了個抽象方法,就是在類中可以定義抽象方法。 

抽象類不可以例項化。 

抽象類中可以不定義抽象方法,這樣做是為了不讓該類建立物件。

抽象類練習

對員工進行建模,包含3個屬性:姓名、工號、工資。經理也是員工,除了含有員工的屬性外,另外還有乙個獎金屬性。用繼承思想設計出員工類和經理類,類中提供必要的方法進行屬性訪問。

abstract class employee

public abstract void work();

}class manager extends employee

public void work() }

class pro extends employee

public void work() }

public class abstracttest

}

介面(inte***ce)

介面,初期可以理解為乙個特殊的抽象類,當抽象類中的方法都是抽象的,該類可以通過介面的形式來表示。

格式特點:

1.介面中常見定義:常量,抽象方法。

2.介面中的成員都有固定的修飾符:

常量:public static final    (public static final int x = 3; )

方法:public abstract    (public abstract void show()  )

介面中成員都是public

介面不用繼承,用實現 implements

介面可以不建立物件,因為有抽象方法,需要被子類實現,子類對介面中的抽象方法全部覆蓋後,子類才可以例項化,否則子類是乙個抽象類。

介面可以被類多實現,也是對多繼承不支援的轉換形式。

介面可以繼承介面,支援多繼承。

介面是對外暴露的規則,介面是程式的功能擴充套件,類與介面之間是實現關係,而且類可以繼承乙個類的同時實現多個介面。

基本功能定義在類中,擴充套件功能定義在介面中。

inte***ce inter

inte***ce intera

class test implements inter,intera

; public void method(){};

}public class inte***cedemo

}

-----------------------asp.net+unity開發、.net培訓、期待與您交流! ----------------------詳細請檢視: 



黑馬程式設計師 抽象類

asp.net android io開發s net培訓 期待與您交流!抽象類 abstract 當多個類中出現相同功能,但是功能主體不同,這時可以進行向上抽取,這時,只抽取功能定義,不抽取功能主體。抽象類的特點 1.抽象方法一定定義在抽象類中。2.抽象方法和抽象類都必須被abstract關鍵字修飾。...

黑馬程式設計師 抽象類

asp.net unity開發 net培訓 期待與您交流!抽象類當編寫乙個類時,我們往往會為該類定義一些方法,這些方法是用來描述該類的行為方式,那麼這些方法都有具體的方法體。但是有的時候,某個父類只是知道子類應該包含怎麼樣的方法,但是無法準確知道子類如何實現這些方法。抽象方法的定義 通過abstra...

黑馬程式設計師 抽象類 介面 內部類

asp.net android ios開發 net培訓 期待與您交流!使用abstract關鍵字修飾的類就是抽象類,抽象類裡可以包含抽象方法 抽象類的作用就是做乙個模版,無法建立例項 除了抽象方法外,正常類中有的元素,抽象類中都可以包含 因為定義抽象建構函式就無法初始化抽象類 抽象方法被abstra...