一、抽象類 抽象類,只為繼承而出現,不定義具體的內容,只規定該有哪些東西 一般抽象類中只放置抽象方法,只規定了返回類型和參數 比如: 人 - 有吃飯,睡覺方法 男人 - 繼承人抽象類,必須實現吃飯,睡覺的方法主體 女人 - 繼承人抽象類,必須實現吃飯,睡覺方法的主體 抽象類中可以有普通屬性,通過子類 ...
//定義介面 interface IUSB { //開始讀取USB void Start(); //關閉USB void Stop(); } //做一個滑鼠類來實現USB介面 class ShuBiao:IUSB { public void Start() { Console.WriteLine("滑鼠啟動了"); } public void Stop() { Console.WriteLine("滑鼠停止了"); } }
一、抽象類
抽象類,只為繼承而出現,不定義具體的內容,只規定該有哪些東西
一般抽象類中只放置抽象方法,只規定了返回類型和參數
比如:
人 - 有吃飯,睡覺方法
男人 - 繼承人抽象類,必須實現吃飯,睡覺的方法主體
女人 - 繼承人抽象類,必須實現吃飯,睡覺方法的主體
抽象類中可以有普通屬性,通過子類來使用
1.關鍵字:abstract
2.抽象類可以包含抽象方法和普通方法
3.abstract關鍵字可以定義方法為抽象方法,抽象方法可以沒有函數體
4.抽象類無法被實例化,抽象類主要做為一個基類,讓別的類繼承。
5.sealed和abstract關鍵字不能同時出現
6.如果一個子類繼承自抽象類,那麼子類中必須實現所有的抽象方法
7.如果子類中沒有實現父類的抽象方法,那麼該子類必須是抽象類
8.如果一個類裡面包含抽象方法,那麼該類一定是抽象類
註:有抽象方法的,一定是抽象類 ;抽象類中,不一定有抽象方法
//定義抽象類 public abstract class DongWu { public void Run() { } public abstract void Eat(); } //做一個人類來繼承抽象類 public class Ren:DongWu { public override void Eat() { Console.WriteLine("吃熟食"); } }
二、介面
即極度抽象的類
作用:可以將程式拆分成多個模塊,定義子類必須實現的功能
比如:
總公司 --制定了規章制度(介面)--公司必須對員工進行考勤
子公司1--遵循總公司的規章制度--具體實現考勤--打卡
子公司2--遵循總公司的規章制度--具體實現考勤--點名
註:介面和抽象類的區別:
1. 寫法區別
關鍵字:interface
沒有class關鍵字 類名一般用I開頭
不用寫public因為本身就是public,不用寫abstract介面裡面所有的都是抽象的
2. 介面裡面不能包含普通成員
3. 凡是繼承介面的類,全部要實現介面裡面的方法