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

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

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

2019-11-11 00:31:35
字體:
來源:轉載
供稿:網友

一、抽象類與接口        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 。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 通山县| 安图县| 泰安市| 杂多县| 吉安市| 洞口县| 丰城市| 瑞金市| 佛坪县| 都匀市| 贡觉县| 枣阳市| 昌吉市| 买车| 沭阳县| 奎屯市| 汉沽区| 乌苏市| 黄山市| 都兰县| 龙海市| 奉节县| 思茅市| 汶川县| 镇赉县| 雷波县| 开封市| 曲阜市| 安乡县| 辽宁省| 阜城县| 三原县| 通山县| 中西区| 开江县| 东辽县| 鸡西市| 襄垣县| 余江县| 柘城县| 江西省|