课程表

C# 基础教程

C# 高级教程

C# 工具/手册

工具箱
速查手册

C# 接口(Interface)

当前位置:免费教程 » 程序设计 » C#

接口定义了所有类继承接口时应遵循的语法合同。接口定义了语法合同 "是什么" 部分,派生类定义了语法合同 "怎么做" 部分。

接口定义了属性、方法和事件,这些都是接口的成员。接口只包含了成员的声明。成员的定义是派生类的责任。接口提供了派生类应遵循的标准结构。

抽象类在某种程度上与接口类似,但是,它们大多只是用在当只有少数方法由基类声明由派生类实现时。

声明接口

接口使用 interface 关键字声明,它与类的声明类似。接口声明默认是 public 的。下面是一个接口声明的实例:

  1. public interface ITransactions
  2. {
  3. // 接口成员
  4. void showTransaction();
  5. double getAmount();
  6. }

实例

下面的实例演示了上面接口的实现:

  1. using System.Collections.Generic;
  2. using System.Linq;
  3. using System.Text;
  4. using System;
  5.  
  6. namespace InterfaceApplication
  7. {
  8. public interface ITransactions
  9. {
  10. // interface members
  11. void showTransaction();
  12. double getAmount();
  13. }
  14. public class Transaction : ITransactions
  15. {
  16. private string tCode;
  17. private string date;
  18. private double amount;
  19. public Transaction()
  20. {
  21. tCode = " ";
  22. date = " ";
  23. amount = 0.0;
  24. }
  25. public Transaction(string c, string d, double a)
  26. {
  27. tCode = c;
  28. date = d;
  29. amount = a;
  30. }
  31. public double getAmount()
  32. {
  33. return amount;
  34. }
  35. public void showTransaction()
  36. {
  37. Console.WriteLine("Transaction: {0}", tCode);
  38. Console.WriteLine("Date: {0}", date);
  39. Console.WriteLine("Amount: {0}", getAmount());
  40. }
  41. }
  42. class Tester
  43. {
  44. static void Main(string[] args)
  45. {
  46. Transaction t1 = new Transaction("001", "8/10/2012", 78900.00);
  47. Transaction t2 = new Transaction("002", "9/10/2012", 451900.00);
  48. t1.showTransaction();
  49. t2.showTransaction();
  50. Console.ReadKey();
  51. }
  52. }
  53. }

我来试一下

当上面的代码被编译和执行时,它会产生下列结果:

  1. Transaction: 001
  2. Date: 8/10/2012
  3. Amount: 78900
  4. Transaction: 002
  5. Date: 9/10/2012
  6. Amount: 451900
转载本站内容时,请务必注明来自W3xue,违者必究。
 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号