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

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

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

2019-11-10 21:30:52
字體:
來源:轉載
供稿:網友

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 元朗区| 定结县| 宁晋县| 耿马| 仪征市| 东至县| 柏乡县| 汶上县| 广州市| 海晏县| 乌拉特后旗| 龙岩市| 彝良县| 弥勒县| 松江区| 菏泽市| 临汾市| 密云县| 柳州市| 文水县| 万安县| 南充市| 积石山| 和顺县| 竹山县| 且末县| 大方县| 南宫市| 高台县| 宁国市| 固安县| 石楼县| 尼木县| 内黄县| 南部县| 巴林左旗| 甘洛县| 霍林郭勒市| 仁寿县| 定安县| 阿克陶县|