---------------------- 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...