日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

C# 类中继承接口的属性

發布時間:2025/5/22 C# 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C# 类中继承接口的属性 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在開發中面對接口編程,有時需要將屬性放到接口中,但是在類中又要如何去繼承接口的屬性呢?

開始的時候,我以為只要繼承了接口,就可以將屬性拿來用了。代碼如下:

public interface IA {int count{get;set;}void test(); }public class A:IA {public void test(){//TODO...} }
這時候,如何進行編譯,將會提示錯誤,見下圖。


看提示就應該知道,是IA中的屬性count沒有實現。因為屬性在本質上也是方法,即get和set方法,只是屬性看起來像是字段一樣。現在對count進行實現,代碼如下

public class A : IA{ #region count normal Propertyprivate int count_;public int count{get{return count_;}set{count_ = value;}}#endregionpublic void test(){//TODO...}}

這時再進行編譯就可以通過了。

這里說一個小技巧:在類繼承接口時,可以在接口的后面按下CTRL+.,然后就可以快速實現接口中的各個項了(包括方法和屬性)。只是需要注意的是,對于方法和屬性都會有這樣的代碼“throw new NotImplementedException();”,這就需要對其進行實現。

對于這一技巧可以參見《提高開發效率的Visual Studio 2010使用技巧》

那是否可以在接口中去增加一個公共字段,讓繼承的也可以訪問呢?比如這樣寫:

public interface IA{public int sum;int count { get; set; }void test();}編譯報錯,見下圖


接口中不能包含字段,所以接口中不能直接定義字段。下面是MSDN所說的(具體可以參見這個鏈接http://msdn.microsoft.com/zh-cn/library/vstudio/ms173156.aspx):

接口具有下列屬性:

  • 接口與抽象基類。?實現接口的任何選件類或結構必須實現其所有成員的鏈接。

  • 接口不能直接實例化。?其成員通過實現接口的任何選件類或結構實現。

  • 接口可以包含事件、索引器、方法和屬性。

  • 接口不包含方法的實現。

  • 選件類或結構可以實現多個接口。?選件類可以繼承基類并實現一個或多個接口。


轉載于:https://www.cnblogs.com/sparkleDai/p/7605081.html

總結

以上是生活随笔為你收集整理的C# 类中继承接口的属性的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。