浅析C#中接口的重要性
来源:互联网 发布:php公众号自定义菜单 编辑:程序博客网 时间:2024/06/05 10:24
C#中有了接口这一概念。我觉得接口就像是C++中的抽象基类。
接口可以理解为是一种约定,使得实现这个接口的类或是结构在形式上保持一致。
声明接口:
语法和声明抽象类完全相同。
public interface IBankAccount{ void PayIn(decimal amount); bool Withdraw(decimal amount); decimal Balance { get; }}
注意:接口中只能包含方法、属性、索引器和事件的声明。不允许声明成员上的修饰符,即使是pubilc都不行,因为接口成员总是公有的,也不能声明为虚拟和静态的。如果需要修饰符,最好让实现类来声明。
接口使用:
class SaverAccount : IBankAccount{ private decimal balance; public decimal Balance { get { return balance; } } public void PayIn(decimal amount) { balance += amount; } public bool Withdraw(decimal amount) { if (balance >= amount) { balance -= amount; return true; } Console.WriteLine("Withdraw failed."); return false; } public override string ToString() { return String.Format("Venus Bank Saver:Balance={0,6:C}", balance); }}
总结:
1、C#中的接口是独立于类来定义的。这与 C++模型是对立的,在 C++中接口实际上就是抽象基类。
2、接口和类都可以继承多个接口。
3、类可以继承一个基类,接口根本不能继承类。这种模型避免了 C++的多继承问题,C++中不同基类中的实现可能出现冲突。因此也不再需要诸如虚拟继承和显式作用域这类复杂机制。C#的简化接口模型有助于加快应用程序的开发。
4、一个接口定义一个只有抽象成员的引用类型。C#中一个接口实际所做的,仅仅只存在着方法标志,但根本就没有执行代码。这就暗示了不能实例化一个接口,只能实例化一个派生自该接口的对象。
5、接口可以定义方法、属性和索引。所以,对比一个类,接口的特殊性是:当定义一个类时,可以派生自多重接口,而你只能可以从仅有的一个类派生。
正如我们开头提到的C#中的接口就如同C++中的抽象类,但是C#中同样也存在抽象类,那么c#中的抽象类和接口又有什么区别呢?请看博客《浅析C#中的抽象类和接口的区别》
0 0
- 浅析C#中接口的重要性
- 浅析C#中抽象类和接口的区别
- 浅析SEO过程中链接策略的重要性
- 接口的重要性
- C# 接口浅析
- 空(标识)接口的重要性
- 空(标识)接口的重要性
- 空(标识)接口的重要性
- 空(标识)接口的重要性
- 空(标识)接口的重要性
- 空(标识)接口的重要性
- 空(标识)接口的重要性
- 空(标识)接口的重要性
- 空(标识)接口的重要性
- 空(标识)接口的重要性
- 空(标识)接口的重要性
- 空(标识)接口的重要性
- 空(标识)接口的重要性
- 最大子序列之积
- Linux启动过程详解
- 学习总结第二篇
- Leetcode233 Number of Digit One
- swift详解之二十--------在xcode中使用git管理源代码,将代码提交到github
- 浅析C#中接口的重要性
- 未知情况的笔记本蓝屏记录
- web-javascript出现的全局变量的问题(*)
- ICPC 7014 Ideal Scoreboard
- CRM_ORDER_READ 订单查询简单示例
- PHP的命令行脚本开发
- 自定义带删除按钮的EditText搜索框
- c/c++学习的经典网站
- 学会看外面的风景