C# 类中继承接口的属性
来源:互联网 发布:人工智能与伦理学 编辑:程序博客网 时间:2024/04/29 02:23
在开发中面对接口编程,有时需要将属性放到接口中,但是在类中又要如何去继承接口的属性呢?
开始的时候,我以为只要继承了接口,就可以将属性拿来用了。代码如下:
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 Property private int count_; public int count { get { return count_; } set { count_ = value; } } #endregion public 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):
接口具有下列属性:
接口与抽象基类。 实现接口的任何选件类或结构必须实现其所有成员的链接。
接口不能直接实例化。 其成员通过实现接口的任何选件类或结构实现。
接口可以包含事件、索引器、方法和属性。
接口不包含方法的实现。
选件类或结构可以实现多个接口。 选件类可以继承基类并实现一个或多个接口。
- C# 类中继承接口的属性
- C#中接口的继承
- C#中接口多重继承的注意事项
- C#中接口多重继承的注意事项
- C#中接口多重继承的注意事项
- C#中接口多重继承的注意事项
- C# 继承类中重复属性的用法
- C#接口-接口的继承
- C#接口-接口的继承
- C# 类的继承和Interface接口
- C#继承接口的类和派生接口的实现
- 加入一个c#的接口中定义了属性,那么实现这个接口的类
- C#中类的继承
- C#中类的继承
- 理解C#中接口、继承、抽象、虚拟之间的区别
- C#与java中对抽象类、接口的继承和重写区别
- c#继承(抽象类、接口)
- Java中类的单继承,接口的多继承
- 计算机中数的表示与存储
- 【xtku】教你用VOLANS路由器自带功能抗攻击
- 三层转发
- java.util.List里的subList方法使用
- web项目启动时,配置达到启动项目就可以执行任务的目的....
- C# 类中继承接口的属性
- IBM DB2 SQL SPLIT 分割字符串
- 修改linux最大socket连接数
- Activity的四种启动模式
- iOS_使用ARC需要注意的问题
- 单元格动态背景色
- 页面右下角弹出提示框 js版
- javascript Date format(js日期格式化)
- 问题解决的文章链接