一:面向對象的三大特征
封裝,繼承,多態
封裝
1:封裝的概念及作用
*通過使用private和public修飾符來修飾類的成員(字段,屬性,方法等)這樣有效的使私有數據和方法不被外界訪問,這種使用特性就是封裝;
*一個屬性,一個方法也是封裝,類是對屬性和方法的封裝;
*封裝是面向對象中的一個重要特征,面向對象的三個重要特征為:封裝,繼承,多態;
*作用<模塊化和數據隱藏>
2:類是模版,確定的對象將會擁有的特征(屬性)和行為(方法);任何對象將會屬於一個類中;
3:對象是以類為模版而創建的,是類的實例化,具體化;
4:面向對象的好處
*封裝使得開發人員更加關注自己的需求;
*一個類定義之後可以多次使用,避免重復賦值;
5:類試圖 對於類的總體結構的展示;類(右鍵-----查看類圖)
6:類的祖先(object)
*Object類是所有類的父類(祖先類),因此任何一個類都可以轉換成object類型;
*可以將任何類型的值賦予object類型的變量;
裝箱:將值類型的變量轉換為<object>對象的過程叫做裝箱;
拆箱:將<object>對象類型的變量轉換為值類型的過程叫做拆箱;
class A { public virtual void F(){} } class B:A { public override void F(){} }
多態 <編譯時多態,運行時多態>
*和重載的定義一樣,可以這樣說重載也多態的一種。
*定義類的繼承發生在多個類之間,而類的多態發生在同一個類上,在一個類中可以定義多個同名方法,只要確定了它們的參數個數和類型不同。
理解下面這段話就了解了多態.
Foreach(Student stu in students) { Console.writeline(stu.studentName); }
2:泛型集合的最大特征:嚴格約束集合內的元素類型;
3:集合初始化器
創建集合對象時直接初始化,非常類似與數組;
4:Dictionary<k,v>通常稱為字典
*<k,v>約束集合中的元素類型
*編譯時檢查類型約束;
*無需裝箱拆箱操作
*與哈希表操作類視