c#接口详解及实例应用分析

c#接口详解及实例应用分析

ID:15515045

大小:44.00 KB

页数:7页

时间:2018-08-03

c#接口详解及实例应用分析_第1页
c#接口详解及实例应用分析_第2页
c#接口详解及实例应用分析_第3页
c#接口详解及实例应用分析_第4页
c#接口详解及实例应用分析_第5页
资源描述:

《c#接口详解及实例应用分析》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、·              C#接口详解及实例应用分析C#接口定义是什么呢?C#接口定义相关的一些内容是什么?C#接口定义的学习需要注意什么呢?那么本文就向你详细介绍这些内容。C#接口定义是什么呢?其实,C#接口定义的就是一种约定,使得实现接口的类或结构在形式上保持一致。个人觉得,使用接口可以使程序更加清晰和条理化,这就是接口的好处,但并不是所有的编程语言都支持接口,C#是支持接口的。注意,虽然在概念上,C#接口类似于COM接口,但他们的底层结构是不同的。那么,我们来看一下如何声明和使用接口。C#接口定义之声明接口声明接口在语法上

2、和声明抽象类完全相同,例如这里有一个银行账户的接口:1.public interface IBankAccount 2.{ 3.void PayIn(decimal amount); 4.bool Withdraw(decimal amount); 5. 6.decimal Balance 7.{ 8.get; 9.} 10.} 注意:接口中只能包含方法、属性、索引器和事件的声明。不允许声明成员上的修饰符,即使是pubilc都不行,因为接口成员总是公有的,也不能声明为虚拟和静态的。如果需要修饰符,最好让实现类来声明。C#接口定义之使

3、用接口的实例:这是书上的一个简单的例子,但足以说明接口的使用方法。一个银行账户的接口,两个不同银行账户的实现类,都继承于这个接口。接口声明如上。下面是两个账户类:11.class SaverAccount : IBankAccount 7/71.{ 2.private decimal balance; 3. 4.public decimal Balance 5.{ 6.get  7.{ 8.return balance; 9.} 10.} 11. public void PayIn(decimal amount) 12.{ 13.b

4、alance += amount; 14.} 15. public bool Withdraw(decimal amount) 16.{ 17.if (balance >= amount) 18.{ 19.balance -= amount; 20.return true; 21.} 22.Console.WriteLine("Withdraw failed."); 23.return false; 24.} 25. public override string ToString() 26.{ 27.return String.Fo

5、rmat("Venus Bank Saver:Balance={0,6:C}", balance); 28.} 29.} 30. class GoldAccount : IBankAccount 31.{ 32.private decimal balance; 33. public decimal Balance 7/71.{ 2.get  3.{ 4.return balance; 5.} 6.} 7. public void PayIn(decimal amount) 8.{ 9.balance += amount; 10.} 

6、11. public bool Withdraw(decimal amount) 12.{ 13.if (balance >= amount) 14.{ 15.balance -= amount; 16.return true; 17.} 18.Console.WriteLine("Withdraw failed."); 19.return false; 20.} 21. public override string ToString() 22.{ 23.return String.Format( 24."Jupiter Bank 

7、Saver:Balance={0,6:C}", balance); 25.} 26.} 可见,这两个实现类多继承了IBankAccount接口,因此它们必须要实现接口中的所有声明的方法。要不然,编译就会出错。让我们来测试一下,下面是测试代码:27.static void Main(string[] args) 28.{ 29.IBankAccount venusAccount = new SaverAccount(); 30.IBankAccount jupiterAccount = new CurrentAccount(); 7/

8、71.venusAccount.PayIn(200); 2.jupiterAccount.PayIn(500); 3.Console.WriteLine(venusAccount.ToString()); 4.jupiterAccou

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。