成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

.NET 面向?qū)ο蠡A(chǔ)

開發(fā) 后端
對(duì)象的內(nèi)部數(shù)據(jù)不應(yīng)該從對(duì)象的實(shí)例直接訪問,如果調(diào)用者想改變對(duì)象的狀態(tài)就要使用訪問方法(getter)和修改方法(setter),封裝提供了一種保護(hù)狀態(tài)數(shù)據(jù)完整性的方法,可用于驗(yàn)證輸入數(shù)據(jù)是否符合業(yè)務(wù)規(guī)則。

封裝

 對(duì)象的內(nèi)部數(shù)據(jù)不應(yīng)該從對(duì)象的實(shí)例直接訪問,如果調(diào)用者想改變對(duì)象的狀態(tài)就要使用訪問方法(getter)和修改方法(setter),封裝提供了一種保護(hù)狀態(tài)數(shù)據(jù)完整性的方法,可用于驗(yàn)證輸入數(shù)據(jù)是否符合業(yè)務(wù)規(guī)則。

  • 實(shí)現(xiàn)方式
    • 訪問方法和修改方法
    • 屬性    

繼承

 

新的類可以從其他類中繼承利用他們既有的功能。這是通過以下方式實(shí)現(xiàn)的:在聲明類時(shí),在類名稱后放置一個(gè)冒號(hào),然后在冒號(hào)后指定要從中繼承的類(即基類)。

  • 語法
  1. public class A 
  2.     public A() { } 
  3.  
  4. public class B : A 
  5.     public B() { } 

 

  • 代碼重用
    • is-a:繼承
    • has-a:包含、委托模型
  • 基類

 一個(gè)類只能有一個(gè)直接的基類,子類將繼承基類的所有非私有功能,但可以繼承多個(gè)接口,這樣可以構(gòu)造靈活的接口層次來建模復(fù)雜的行為。

  • 初始化調(diào)用

默認(rèn)在子類的構(gòu)造函數(shù)執(zhí)行之前調(diào)用基類的構(gòu)造函數(shù),之后為基類的公共屬性創(chuàng)建狀態(tài)。實(shí)現(xiàn)子類時(shí)最好是顯示的調(diào)用合適的基類的構(gòu)造函數(shù),減少對(duì)繼承的初始化成員的調(diào)用次數(shù)。

 

 

 

 

  • 關(guān)鍵字
    • base:子類需要調(diào)用基類的字段或方法時(shí)可以使用該關(guān)鍵字
  • 密封類

密封類是不可以被繼承的,在設(shè)計(jì)工具類時(shí)對(duì)類進(jìn)行密封是很有意義的

 

 

 

 

  • 關(guān)鍵字
    • sealed
  • 代碼示例
  1. public sealed class D 
  2.     // Class members here. 

 

  • 嵌套類

在類或結(jié)構(gòu)內(nèi)部定義的類型稱為嵌套類型,不管外部類型是類還是結(jié)構(gòu),嵌套類型均默認(rèn)為 private,但是可以設(shè)置為 public、protected internal、protected、internal 或 private。嵌套類型(或內(nèi)部類型)可訪問包含類型(或外部類型)。

  • 語法
  1. class Container 
  2.     class Nested 
  3.     { 
  4.         Nested() { } 
  5.     } 

 

 

  • 訪問包含類型

將其作為構(gòu)造函數(shù)傳遞給嵌套類型

  1. public class Container 
  2.     public class Nested 
  3.     { 
  4.         private Container m_parent; 
  5.  
  6.         public Nested() 
  7.         { 
  8.         } 
  9.         public Nested(Container parent) 
  10.         { 
  11.             m_parent = parent; 
  12.         } 
  13.     } 
  • 實(shí)例化

多態(tài)

通過繼承,一個(gè)類可以用作多種類型:可以用作它自己的類型、任何基類型,或者在實(shí)現(xiàn)接口時(shí)用作任何接口類型。這稱為多態(tài)性。C# 中的每種類型都是多態(tài)的。類型可用作它們自己的類型或用作 Object 實(shí)例,因?yàn)槿魏晤愋投甲詣?dòng)將 Object 當(dāng)作基類型。

  • 方法重寫

由子類重新定義基類中的方法,可使用base關(guān)鍵字調(diào)用基類的方法

  • 關(guān)鍵字
    • virtual:基類中的需要子類實(shí)現(xiàn)的方法可以使用該關(guān)鍵字
    • override:派生類需要實(shí)現(xiàn)基類中的方法可以使用該關(guān)鍵字
  • 成員投影

如果子類中定義了一個(gè)成員與基類的成員一致,則我們稱之為成員投影。可以使用new關(guān)鍵字調(diào)用新成員而不是被替換的舊成員,將子類實(shí)例強(qiáng)制轉(zhuǎn)換成基類實(shí)例時(shí)才可以調(diào)用隱藏的基類成員。一般在無法更改基類代碼的情況下可以使用此方法進(jìn)行成員替換。

  • 關(guān)鍵字
    • new
  • 密封虛成員

用于密封從基類繼承的虛方法,以防止本類的派生類重寫此方法。

  • 關(guān)鍵字
    • sealed:使用 sealed 關(guān)鍵字可以防止繼承以前標(biāo)記為 virtual 的類或某些類成員。
  • 代碼示例
  1. public class D : C 
  2.     public sealed override void DoWork() { } 

 

抽象類

抽象類不能實(shí)例化,抽象類的用途是提供多個(gè)派生類可共享的基類的公共定義,可用于建模。
  • 關(guān)鍵字
    • abstract :使用 abstract 關(guān)鍵字可以創(chuàng)建僅用于繼承用途的類和類成員,即定義派生的非抽象類的功能。
  • 抽象方法

抽象類也可以定義抽象方法。方法是將關(guān)鍵字 abstract 添加到方法的返回類型的前面。抽象方法沒有實(shí)現(xiàn),所以方法定義后面是分號(hào),而不是常規(guī)的方法塊。抽象類的派生類必須實(shí)現(xiàn)所有抽象方法。當(dāng)抽象類從基類繼承虛方法時(shí),抽象類可以使用抽象方法重寫該虛方法。

  • 代碼示例
  1. public abstract class A 
  2.     public abstract void DoWork(int i); 

 

 

  • 虛方法聲明為抽象

如果將虛方法聲明為抽象方法,則它對(duì)于從抽象類繼承的所有類而言仍然是虛的。繼承抽象方法的類無法訪問該方法的原始實(shí)現(xiàn)。在前面的示例中,類 F 上的 DoWork 無法調(diào)用類 D 上的 DoWork。在此情況下,抽象類可以強(qiáng)制派生類為虛方法提供新的方法實(shí)現(xiàn)。

  1. // compile with: /target:librarypublic class D 
  2.     public virtual void DoWork(int i) 
  3.     { 
  4.         // Original implementation. 
  5.     } 
  6.  
  7. public abstract class E : D 
  8.     public abstract override void DoWork(int i); 
  9.  
  10. public class F : E 
  11.     public override void DoWork(int i) 
  12.     { 
  13.         // New implementation. 
  14.     } 
  • 多態(tài)接口
定義一個(gè)抽象類并定義許多抽象成員,這樣派生類必須實(shí)現(xiàn)所有的抽象成員,也就強(qiáng)制了每一個(gè)后代具有的多態(tài)接口。     
  • 基類和派生類的轉(zhuǎn)換規(guī)則
    • 規(guī)則一:可以使用基類保存任意的派生類型,并且這是安全的,這叫做隱式轉(zhuǎn)換。
    • 規(guī)則二:反之,需要使用強(qiáng)制轉(zhuǎn)換操作符進(jìn)行顯示的向下轉(zhuǎn)換。

原文鏈接:http://www.cnblogs.com/liusuqi/p/3139726.html

責(zé)任編輯:陳四芳 來源: M守護(hù)神
相關(guān)推薦

2011-05-13 11:05:52

javascript

2023-10-25 13:42:19

Java面向?qū)ο?/a>

2011-05-13 09:58:46

javascript

2011-05-13 10:51:25

javascript

2011-05-13 11:17:18

javascript

2011-05-13 11:27:59

javascript

2011-05-13 12:38:58

javascript

2009-10-13 17:03:55

VB.NET面向?qū)ο?/a>

2009-11-02 16:22:16

VB.NET面向?qū)ο?/a>

2011-07-05 14:42:46

java

2010-01-13 11:18:24

VB.NET面向?qū)ο?/a>

2023-01-10 09:38:09

面向對(duì)象系統(tǒng)

2009-10-13 14:19:03

VB.NET面向?qū)ο缶?/a>

2009-10-13 11:28:39

VB.NET面向?qū)ο缶?/a>

2009-06-29 10:50:18

VB.NET面向?qū)ο竽芰?/a>

2010-01-12 18:05:38

VB.NET對(duì)象

2009-11-23 19:24:01

PHP面向?qū)ο缶幊?/a>

2020-10-20 08:35:34

JS基礎(chǔ)進(jìn)階

2011-07-14 17:37:02

C++面向?qū)ο缶幊趟枷?/a>

2011-07-14 17:24:10

C++面向?qū)ο笏枷?/a>
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 美日韩精品 | 全免费a级毛片免费看视频免 | 午夜精品视频一区 | 日日夜夜天天干 | 一区二区三区亚洲精品国 | 在线播放一区二区三区 | 91精品国产乱码久久久久久久久 | 国产激情自拍视频 | 国产成人黄色 | 91在线观看 | 一级做a爰片性色毛片视频停止 | 欧美在线二区 | 天天成人综合网 | 国产精品视频一区二区三区 | 亚洲成人一区二区 | 国产欧美一区二区三区在线看 | 亚洲久久一区 | 欧美一区在线视频 | 成人免费小视频 | 久久性av| 欧美色综合天天久久综合精品 | 亚洲精品9999久久久久 | 国产成人精品999在线观看 | 日韩一级黄色毛片 | 久久久免费毛片 | 999精品在线| 国产在线精品一区二区三区 | 国产午夜精品理论片a大结局 | 中文字幕在线观看一区 | 国产精品成人一区二区三区 | 国产亚洲精品美女久久久久久久久久 | 91不卡| 毛片免费视频 | 欧美成人精品 | 婷婷桃色网 | 日韩欧美国产精品综合嫩v 一区中文字幕 | 亚洲高清视频一区二区 | 青青草在线视频免费观看 | 中文字幕一区二区三区精彩视频 | 亚洲精品久久久久国产 | 91极品欧美视频 |