国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

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

c#基礎:類與接口的學習

2019-11-10 22:28:05
字體:
來源:轉載
供稿:網友

一、抽象類與接口        1、類似處:他們都包含可以由派生類繼承的成員。都不能實例化,但可以聲明他們的變量。如果這樣做,就可以使用多態性把繼承這兩中類型的對象指定給他們的變量。接著通過這些變量來使用這些類型的成員,但不能直接訪問派生對象的其它成員。 

         2、區別:派生類只能繼承一個基類,即只能直接繼承一個抽象類,但可以通過一個繼承鏈來包含多個抽象類。相反,類可以使用任意多個接口。               按照定義,接口成員是公共的(因為它們傾向于外部使用),但抽象類的成員可以是私有的、受保護的、內部的或受保護的內部成員。               此外,接口不能包含字段、構造函數、靜態成員或常量 。

          3、這說明這兩種類型用于完全不同的目的。抽象類主要用作對象系列的基類,共享某些主要的特性,例如共同的目的和結構。接口則主要用于類,這些類在基礎水平上有所不同,但仍可以完成某些相同的任務。

          舉例說明:假如有一個對象系列表現火車,基類Train包含火車的核心定義,比如輪胎和引擎規格。但這個類是抽象的,我們不能開著這樣的火車 。所以,我們給它添加一些特性(真實的發動機、好的輪胎),得到了“蒸汽”和“汽油”火車兩個派生類 Train_A 和 Train_B 。

           接著,我們來考慮,汽車做好了,我們可以用來做什么?對,搭乘客,裝貨物,而這兩種方法我們可以

放在接口 Interface 中,這樣他們就有了共同的任務。

二、結構類型

            1、結構和類非常相似,但結構是值類型的,類是引用類型的,這意味著什么?舉例說明:

namespace exmaple_1{     class Myclass    {         publlic  int  val ;     }    struct   myStruct    {          public   int   val;    }    class PRogram   {      static void Main(String[]  args)       {             Myclass   A  =   new  Myclass() ;             Myclass   B  =    A;            A.val=10;            B.val=20;            myStruct  C =  new   myStruct() ;            myStruct  D = C ;            C.val=30;            D.val=40;           Console.WriteLine("A.val={0}", A.val) ;           Console.WriteLine("B.val={0}", B.val) ;           Console.WriteLine("C.val={0}", C.val) ;           Console.WriteLine("D.val={0}", D.val) ;           Console.ReadKey() ;        }  } 運行后,得到的結果是 :        A.val =20,  B.val=20 ,  C.val=30,  D.val=40 。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 云霄县| 噶尔县| 亚东县| 福州市| 天柱县| 泾川县| 富裕县| 武城县| 理塘县| 苍溪县| 平果县| 博爱县| 治县。| 张家口市| 闽侯县| 林周县| 泰和县| 崇礼县| 正蓝旗| 蒲江县| 家居| 江西省| 云安县| 介休市| 灵丘县| 富锦市| 原阳县| 嘉善县| 芦溪县| 阿拉善右旗| 南木林县| 紫阳县| 嘉祥县| 乐安县| 永泰县| 田林县| 高安市| 宝山区| 梨树县| 永泰县| 平罗县|