麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

閱讀《LEARNINGHARDC#學習筆記》知識點總結與摘要二

2019-11-14 16:03:36
字體:
來源:轉載
供稿:網友

今天繼續分享我的閱讀《LEARNING HARD C#學習筆記》知識點總結與摘要二,仍然是基礎知識,但可溫故而知新。

七.面向對象

三大基本特性:

封裝:把客觀事物封裝成類,并隱藏類的內部實現細節,僅開放相關的訪問屬性、方法等

繼承:通過繼承可以復用父類的代碼;

多態:1.允許將子對象賦值給父對象,2.同方法在不同的對象上有不同的實現方式;

 

子類初始化順序:初始化類的實例字段à調用父類構造函數à調用子類構造函數;

 

重寫:父類聲明為virtual或abstract的類成員(屬性、方法),在子類繼承時必需使用override關鍵字進行重實現(虛方法視情況可不重寫)。重寫一般發生在父類與子類之間;

 

注意:虛擬成員或抽象成員不能是私有的,且重寫時不能改變其訪問修飾符(即:虛擬成員或抽象成員若為public,重寫時不能改為PRotected,反之一樣是不行的

 

重載:相同的方法名稱不同的形參類型或個數(注意:返回值類型不能做為重載的依據);

 

隱藏(覆蓋):子類使用new關鍵字定義父類同名的方法,即可隱藏父類同名的方法,隱藏后,子類外部不能直接訪問父類隱藏的方法,若需訪問,必須將子類型強制轉換成父類型才能正常訪問;

 

所有類的最高層父類都是object類,即所有類都間接派生于object類;

 

八.接口

  1. 僅可定義屬性、事件、方法、索引器4類成員,且定義的成員不能添加任何訪問修飾符,因為默認都為public,子類繼承并實現這些成員時也必須定義為public;
  2. 支持多重繼承,可繼承多個接口,但不能繼承類;
  3. 可顯式實現接口,顯示實現的成員默認為私有private,不能添加任何訪問修飾符,故不能通過類的對象進行訪問,若需訪問,則必需將對象的類型強制轉換為相應的接口才能正常訪問,這與類的隱藏方法類似,顯示實現接口方法的語法:接口.接口方法(形參表表) { ..方法實現…}

 

九.接口與抽象類的區別

1.接口定義關鍵字為:interface,而抽象類定義關鍵字為:abstract

2.接口不能定義字段、構造函數、析構函數,不能使用任何訪問修飾符(包含static,sealed,virtual等),而抽象類不受限制;

3.接口允許多重繼承,而抽象類僅支持單繼承;

4.接口一般用來定義通用的行為規范,指示所有繼承的類必需具備這些行為,表現為:Can Do,而抽象類一般用來對一類對象的抽象進行描述,指示所有繼承的類都屬于該抽象類,并具備抽象類的所有特性,表現為:IS;

 

十.委托

1.委托是一種類型delegate,可以理解為對方法的包裝,它使得可以將方法作為參數被傳遞,相當于C++中的函數指針;

2.委托的定義與方法的定義類似,只是多了一個delegate關鍵字,定義的語法如下:

訪問修飾符 delegate 返回類型 委托名(形參列表)

3.實例化委托必須保證被委托的方法的方法簽名(形參個數、順序、類型)以及返回類型與委托定義相同;

4.委托鏈:+=表示添加方法到委托鏈中,-=表示從委托鏈中移除方法;

 

事件也是一種委托類型,定義時必需先定義委托類型,然后才能定義事件,事件的定義語法如下:

訪問修飾符 event 委托類型 事件名;

事件通過+=訂閱事件,-=取消訂閱

 

十一.參數傳遞

默認情況下,值類型在方法中是按值傳遞,即將實參的值復制給形參,兩者中任何一個的值改變不會改變另一個的值;

引用類型在方法中是按引用傳遞,即實參將變量的的引用地址傳遞給形參,兩者均指向同一個對象,任何一個的值改變,則另一個也會變化;(字符串雖為引用類型,但由于其特殊性,默認情況下,在方法中是按值傳遞)

通過添加rel或out關鍵字來顯式實現參數(不論任何類型)按引用類型傳遞,其中使用rel關鍵字時,實參必需先初始化,而out關鍵字則沒有此要求;

 

十二.泛型

泛型代表的就是通用類型,它可以代表任意類型,使類型參數化,從而實現同一個方法可以操作不同的類型的目的;

泛型解決了類型之間裝箱與拆箱的問題;

浮型約束采用where 關鍵字,如:where T:class,約束是為了將泛型的類型具體化。

約束種類如下:

引用類型約束(T:class),確保傳遞的類型實參必須為引用類型;

值類型約束(T:struct),確保傳遞的類型實參必須為值類型(不包括可空類型);

構造函數約束(T:new()),確保傳遞的類型實參必須有公共的無參構造函數,此約束適用所有非靜態、非抽象的包含無參構造函數的類型(值類型與引用類型),如果有多個約束,則此約束必須放在最后面;

轉換類型約束(T:基類名,T:接口名,T:U),確保傳遞的類型實參必須是繼承該約束的類或接口;

組合約束,包含多個約束;

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 男人的天堂色偷偷 | 一区二区三区日韩精品 | 毛片视频大全 | 久久精品国产久精国产 | 国产69精品久久久久久久久久 | 国产精品久久久久久久久久iiiii | 中国黄色一级生活片 | 免费高清一级欧美片在线观看 | 精品成人av一区二区在线播放 | 久久久久久久久久久久免费 | 免费啪视频在线观看 | 免费黄色短视频网站 | 五月天堂婷婷 | 亚洲欧美国产视频 | 毛片免费视频观看 | 欧美一级黄视频 | h视频免费在线观看 | 又黄又爽免费无遮挡在线观看 | asian裸体佳人pics | 日韩999| 色综合视频网 | 免费a级毛片永久免费 | 亚洲精品有限 | 黄网在线 | 一级黄色毛片a | 久久99深爱久久99精品 | 中国精品久久 | 精品国产高清一区二区三区 | 92看片淫黄大片欧美看国产片 | 免费在线观看亚洲 | 国产一区二区精品在线观看 | 久久综合综合久久 | 日本精品久久久久 | 久久久久久久久久久久久久av | 日本黄色一级电影 | 牛牛视频在线 | 欧美日韩一区二区综合 | 欧美一级片在线 | 中文区中文字幕免费看 | 欧美三级日本三级少妇99 | 午夜a狂野欧美一区二区 |