亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#面向對象編程基礎概念匯總

2019-10-29 19:58:16
字體:
來源:轉載
供稿:網友

一、類與實例

對象是一個自包含的實體,用一組可識別的特性和行為類標示,面向對象編程,就是針對對象編寫類,就是具有相同屬性和功能的抽象的集合。

注意:

  1. 類名稱首字母要大寫,多個單詞則各個首字母大寫;
  2. 對外公開的方法需要用public修飾符

實例,就是一個真實的對象,實例化就是創建對象過程,使用new關鍵字來創建。

二、構造方法

構造方法又叫構造函數,其實就是對類進行初始化,構造方法與類同名,無返回值,也無需void,在new時候調用。

所有的類都有構造方法,如果你不編碼則系統會默認生成空的構造方法,若你有定義的構造方法,那么默認的構造方法便會失效

例子:

C#,面向對象編程

三、方法重載

方法的重載提供了創建同名的多個方法的能力,但這些方法需使用不同法人參數類型。

注意:方法重載時,兩個方法必須要方法名相同,但參數名不和參數個數必須要有所不同。

重載的好處:可以在不改變原方法的基礎上新增功能。

C#,面向對象編程

四、屬性與修飾符

屬性是一個方法或一對方法,但在調用他的代碼來看,他是一個字段,即屬性適合一字段的方式使用方法調用的場合。

字段是存儲類要滿足七十幾所需要的數據,字段是與類相關的變量。

例子:

C#,面向對象編程

public和private區別:

他們都是修飾符,public表示他所修飾的類成員可以允許其他任何類來訪問。private只允許同一個類中的成員訪問,其他類包括他的子類都無法訪問。

屬性的get和set方法的含義:

屬性有:兩個方法get和set,get訪問器返回與聲明的屬性相同的數據類型,表示的意思是調用時可以得到內部字段的值或引用;set訪問器沒有顯示設置參數,但它有一個隱式參數,用關鍵字value表示,他的作用是調用屬性時可以給內部字段或者引用賦值。

五、封裝

每個對象都包含他能進行操作所要的所有信息,這個特性稱為封裝,因此對象不必依賴其他對象來完成自己的操作。

封裝的好處:

  1. 良好的封裝,能夠減少耦合
  2. 類的內部的實現可以自由的修改
  3. 類具有清晰的對外接口

六、繼承

對象的繼承代表了一種is-a的關系,如果兩個對象,A和B,可以描述為B是A,則表明B可以繼承A.繼承者可以理解為是被繼承者的特殊化,因為他除了具備被繼承者的特性外,還具備自己獨有的個性,繼承定義了類如何相互關聯,共享特性。繼承的工作方式是定義父類和子類,或者叫基類和派生類,其中類繼承父類的所有特性,子類不但繼承父類的所有的特性,還能自己定義新的特點。

學好繼承三個注意點:

如果子類繼承父類:

  1. 子類擁有父類非private的屬性和功能
  2. 子類具有自己的屬性和功能,即子類可以擴展父類沒有的屬性和功能;
  3. 子類還可以以自己的方式實現父類的功能(方法重寫)

protected表示繼承時,子類可以對父類有完全訪問權

子類從他的父中繼承的成員有方法,域,屬性,事件,索引器。但對于構造方法,他不能被繼承,只能被調用,對于調用父類的成員,可與用base關鍵字。

如果不用繼承的話,如果要修改功能,就必須在所有重復的方法中修改,代碼越多,出錯的可能性越大,而繼承優點是,繼承使得所有子類公共的部分都放在了父類,使得代碼得到了共享,這就避免了重復,另外,繼承可以使得修飾或者擴展而來的擴展都比較容易。

繼承的缺點:父類變,子類不得不變。

繼承會破壞包裝,父類實現細節暴露給子類

七、多態

多態表示不同的對象可以執行相同的動作,但要通過他們自己的代碼類執行

  1. 子類以父類的身份出現
  2. 子類在工作時以自己的方式來實現
  3. 子類以父類的身份出現時,子類特有的屬性和方法不可以使用

虛方法和重寫

為了是子類的實例完全接替來自父類的類成員,父類必須將該成員聲明為虛偽的,這是通過在改成員的返回值類型之前添加virtual關鍵字來實現,子類可以使用override關鍵字,將父類實現,替換為自己實現,這就是方法的重寫override。

多態的原理是當方法被調用時,無論對象是否被轉換為其父類,都只有位于對像繼承鏈最末端的方法實現會被調用,也就是說,虛方法是按照其運行時類型,而非編譯時類型進行動態綁定調用的。

八、重構

C#允許把類和方法聲明為abstract,即抽象方法

注意:

  1. 抽象類不能被實例化
  2. 抽象方法是必須被子類重寫的方法
  3. 如果類中包含抽象方法那么類就必須定義為抽象類,不論是否還包括其他一般方法
  4. 我們應該考慮讓抽象類擁有盡可能多的共同代碼,擁有盡可能少的數據。

抽象類通常代表一個抽象概念,他提供一個繼承的觸發點,當設計一個新的抽象類時,一定是用來繼承的 ,所以在一個以繼承關系形成的等級結構里,樹葉節點應該是具體類,樹枝節點均應該是抽象類。

九、接口

關鍵字interface

接口是把隱式公共方法和屬性組合起來,以封裝特定功能的集合,一旦實現了接口,類就可以支持接口所指定的所有屬性和成員,聲明接口和聲明抽象類完全相同,但不允許提供接口中任何成員不能的執行方式,實現接口的類,就必須要實現接口的所有方法和屬性。

一個類可以支持多個接口,多個類也可以支持相同的接口,接口的命名前面要加上大寫字母“I”

注意:

接口用interface聲明,而不是class,接口名稱前面要加I,接口的方法或屬性前面不能有修飾符、方法沒有方法體
抽象類和接口的區別:

  1. 抽象類可以給出一些成員的實現,接口卻不包含成員體的實現,抽象類的抽象成員可以被子類部分實現,接口的成員必須被實現類完全實現,一個類只能繼承一個抽象類,但可以實現多個借口
  2. 類是對對象的抽象,抽象類是對類的抽象,接口是對行為的抽象
  3. 如果行為跨越不同類的對象,可使用接口;對于一些相似的類對象,用繼承抽象類。

參考自大話數據結構

面向對象的設計原則:

  1. 單一職責原則 (The Single Responsiblity Principle,簡稱SRP):一個類,最好只做一件事,只有一個引起它的變化.
  2. 開放-封閉原則 (The Open-Close Principle,簡稱OCP):對于擴展是開放的,對于更改是封閉的
  3. Liskov 替換原則(The Liskov Substitution Principle,簡稱LSP):子類必須能夠替換其基類
  4. 依賴倒置原則(The Dependency Inversion Pricinple,簡稱DIP):依賴于抽象
  5. 接口隔離原則 (The Interface Segregation Principle,簡稱ISP):使用多個小的專門的接口,而不要使用一個大的總接口。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對VEVB武林網的支持。


注:相關教程知識閱讀請移步到c#教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲国产成人精品久久| 亚洲久久久久久久久久久| 亚洲女成人图区| 一本色道久久88精品综合| 亚洲福利影片在线| 久久精品国产成人精品| 亚洲一区二区三区四区视频| 国产精品日韩久久久久| 国产精品免费网站| 亚洲成人av片| 在线观看亚洲区| 欧美黑人一区二区三区| 久久久久久久激情视频| 国产性色av一区二区| 成人精品一区二区三区电影免费| 亚洲国产精品福利| 欧美成人第一页| 国产一区二区三区视频| 国产成人久久精品| 美女999久久久精品视频| 成人日韩av在线| 久久免费精品日本久久中文字幕| 95av在线视频| 欧美精品做受xxx性少妇| 国产精品国语对白| 欧美在线视频免费观看| 2021久久精品国产99国产精品| 亚洲色无码播放| 久久夜色精品亚洲噜噜国产mv| 亚洲精品v天堂中文字幕| 国产一区二区三区网站| 色yeye香蕉凹凸一区二区av| 久久综合88中文色鬼| 国产精品久久久久久久久久ktv| 亚洲欧美在线一区二区| 亚洲视频第一页| www.国产一区| 国产精品一区二区av影院萌芽| 久久夜色精品国产| 久久精品视频在线观看| 最好看的2019年中文视频| 不卡中文字幕av| 91九色视频在线| 国产日韩欧美中文在线播放| 国产欧美婷婷中文| 91国偷自产一区二区三区的观看方式| 精品香蕉一区二区三区| 亚洲图片欧美午夜| 91国自产精品中文字幕亚洲| 韩国精品美女www爽爽爽视频| 日本久久中文字幕| 免费91在线视频| 日韩成人av网址| 欧美成人h版在线观看| 91精品久久久久久久久青青| 久久亚洲一区二区三区四区五区高| 日韩在线观看免费高清| 国产精品私拍pans大尺度在线| 亚洲精品视频在线观看视频| 国产一区二区三区精品久久久| 欧美日韩另类字幕中文| 亚洲少妇中文在线| 国模私拍一区二区三区| 成人a免费视频| 日韩在线视频网| 欧洲日韩成人av| 4438全国成人免费| 亚洲福利在线观看| 精品精品国产国产自在线| 亚洲高清久久网| 亚洲视频在线免费观看| 一区二区欧美亚洲| 91成人在线观看国产| 国产精品日日摸夜夜添夜夜av| 91国产中文字幕| 亚洲精品久久久久久久久久久久久| 欧美www视频在线观看| 亚洲精品日韩久久久| 日韩资源在线观看| 亚洲 日韩 国产第一| 中文字幕日韩av| 亚洲天堂网站在线观看视频| 美日韩精品免费视频| 欧美综合第一页| 26uuu亚洲国产精品| 欧美激情女人20p| 欧美黑人一级爽快片淫片高清| 欧美性资源免费| 最新国产成人av网站网址麻豆| 久久久久久一区二区三区| 日韩免费在线观看视频| 亚洲电影免费观看高清完整版在线观看| 91久久久精品| www.亚洲免费视频| 最近2019中文字幕第三页视频| 国产成人精品a视频一区www| 欧美成人免费在线视频| 欧美激情中文字幕在线| 欧美日韩免费区域视频在线观看| 91久久国产婷婷一区二区| 亚洲缚视频在线观看| 国产69久久精品成人看| 日韩av中文在线| 亚洲性生活视频| 亚洲综合中文字幕在线观看| 在线精品播放av| 国产精品久久久久久影视| 国产成人亚洲综合91| 欧美精品在线第一页| 亚洲深夜福利视频| 在线a欧美视频| 亚洲欧美中文字幕| 中文字幕亚洲专区| 日韩欧美亚洲国产一区| 57pao成人永久免费视频| 中文字幕av日韩| 最近2019年中文视频免费在线观看| 韩国国内大量揄拍精品视频| 国产精品伦子伦免费视频| 国产精品成人在线| 国产噜噜噜噜噜久久久久久久久| 日韩av在线免费看| 韩国福利视频一区| 久久99热这里只有精品国产| 欧美另类在线播放| 欧美国产日韩二区| 日韩中文av在线| 欧美极品少妇xxxxⅹ免费视频| 久久噜噜噜精品国产亚洲综合| www.久久撸.com| 中文字幕v亚洲ⅴv天堂| 影音先锋欧美在线资源| 亚洲视频在线免费观看| 日本精品久久久久久久| 成人国产精品免费视频| 欧美日韩亚洲成人| 亚洲精品视频二区| 国内精品久久久久久久久| 日韩欧美在线一区| 国产精品色视频| 国产成人免费av| 久久久久久这里只有精品| 国产精品老女人视频| 国产精品h片在线播放| 成人做爽爽免费视频| 久久99视频免费| 午夜精品蜜臀一区二区三区免费| 欧美午夜片在线免费观看| 91a在线视频| 国产丝袜高跟一区| 久久成人亚洲精品| 欧美性极品xxxx做受| 色综合老司机第九色激情| 91国偷自产一区二区三区的观看方式| 91老司机精品视频| 一本色道久久综合亚洲精品小说| 欧美日韩在线视频观看| 欧美一级大片在线观看| 国产精品亚洲一区二区三区| 中文国产亚洲喷潮| 亚洲区中文字幕| 久久久精品电影| 国产剧情久久久久久| 欧美成人免费大片|