介面(inte***ce):
c#中介面定義的規則:
1、介面本身的預設訪問級別為internal,即程式集本身訪問級別
2、介面中方法不能使用任何訪問修飾符(例如 public private internal protected)等修飾。(系統自動為其設定為public)
3、不能使用virtual修飾
4、介面不能包含字段,無論是常量,還是例項字段,還是static欄位,都不能包含。(字段本質上是類實現的乙個方面,而介面不能包含任何實現細節)
5、介面不能包含建構函式(建構函式也被認為是一種類的實現細節,與介面不包含任何實現衝突)
6、介面不能包含析構函式
7、介面中不能巢狀任何型別,無論是介面、類,還是結構、列舉等型別。
inte***ce icomparable
屬性本身類似方法,所以規則相同
*/string name
}
實現的類:
class info:lesson2.icomparable
//非顯示實現介面方法時,訪問級別必須是public(即子類方法覆蓋父類或實現介面時不能降低訪問級別)
public string name
set //儘管介面沒提供set;子類仍然可是新增set;
}//非顯示實現介面方法時,訪問級別必須是public(即子類方法覆蓋父類或實現介面時不能降低訪問級別)
//可以把此方法宣告為virtual,以便子類覆寫
public virtual void printmsg()
}
使用:
info info = new info();
info.name = "";
console.writeline(info.name);
//呼叫顯示實現的介面方法時,不能使用類例項,而要使用介面引用
icomparable cp = info;
console.writeline(cp.compareto(1));//列印0
//由於printmsg方法不是通過顯示介面實現的,所以可以通過例項引用呼叫,也可通過介面引用呼叫(多型)
info.printmsg();//例項引用呼叫
cp.printmsg();//介面引用呼叫
console.writeline(cp.name);//介面引用呼叫屬性
抽象類:
//抽象類
abstract class abstractclass
public abstractclass()
public abstractclass(string msg)
public void hi()
public static void say()
/** 建構函式不能是抽象的
public abstract abstractclass(int i);
*//*
* 靜態方法不能標記為virtual、 abstract、 override
public abstract static void say(int i);
*/public abstract void printmsg(string msg);
}//實現抽象類
class subclass : abstractclass
public subclass(): base("我日!")
//抽象方法必須以override方式實現,與實現介面有點兒不一樣
public override void printmsg(string msg)
",msg);}}
使用:
//抽象類使用
subclass sub = new subclass();
abstractclass.say();//抽象類呼叫靜態方法
subclass.say();//實現抽象類子類呼叫靜態方法(繼承的靜態方法)
abstractclass subabc = sub;
sub.printmsg("568");
subabc.printmsg("123");
學習C的第八天
include int main void return 0 1.如果用於迴圈,用於終止迴圈。2.如果用於switch終止switch。3.不能直接用於if,除非if屬於迴圈內部的乙個子句。include int main void return 0 上述程式printf並沒有輸出所以我們可以知道 ...
JS學習第八天
7.4 for in 使 更加的簡潔 7.5 陣列的應用 1.查詢 a.順序查詢 var a 3,7,11,43,87,5,99,56,82,16 var num number prompt 請輸入要查詢的值 var index 1 最初認為要找的值不在陣列中 for var i in a aler...
Linux C學習第八天
一 運算子與表示式 1.優先順序與結合性 優先順序 運算子的運算順序,優先順序低的先運算 結合性 優先順序相等的情況下,運算子按運算順序計算 2.基本算術運算子 取餘運算,結果的符號取決於運算子左邊那個數。3.型別轉換 強制轉換 在變數前使用括號進行轉換 int a int 1.2 隱式轉換 系統自...