黄聪:C#尽量使用接口来编程
来源:互联网 发布:预测大师软件 编辑:程序博客网 时间:2024/06/03 22:58
http://www.cnblogs.com/huangcong/archive/2010/03/26/1697071.html
c#为什么要使用接口?通俗的讲,就是为了降低耦合度。给大家看一个我见过的很搞笑的例子。看看下面的程序:一个学校里边,有两种人:学生、老师。他们都要吃饭和睡觉。
------------------------------
public interface I人
{
}
public class 学生:I人
{
}
public class 老师:I人
{
}
public class 学校
{
}
-----------------------------
这里就用到了里氏代换原则,"开饭()"和"放学()"的参数都是人,那么这个地方如果换成学生和老师肯定也可以。
I人 某学生 = new 学生();
某学生.开饭();
某学生.放学();
这样执行的结果就是学生回寝室吃饭。
I人 某老师 = new 老师();
某老师.开饭();
某老师.放学();
这样执行的结果就是老师回家吃饭。
为什么要这样写呢?这样写有什么好处呢? 我在开饭的时候完全可以直接调用“学生.吃饭();”、“老师.吃饭();”。接着看,有一天,学校里来了第三种人,家长。 家长既不是去寝室睡觉也不是回家睡觉,而是旅馆睡觉,既不是去食堂吃饭也不是回家吃饭,而是去下馆子。 这个时候学校这个系统该怎么处理呢? 如果原来没有定义"I人"这个接口那就麻烦啦,所有用到人的地方代码都要改。 现在不一样了,我可以直接定义一个类:家长,这个类实现人这个接口就可以了。 好,看代码:
------------------------------
public class 家长:I人
{
}
-------------------------------
I人 某家长=new 家长();
某家长.开饭();
某家长.放学();
- 黄聪:C#尽量使用接口来编程
- C#编程尽量使用接口来编程
- C# 尽量使用接口来编程
- 尽量使用接口来编程等基本技巧
- STL高效编程( 五)-尽量使用区间操作函数来代替单元素操作函数。
- 黄聪:如何使用Add
- 黄聪:C#的Microsoft图表控件
- 黄聪:C#调用Excel VBA宏
- 黄聪:C# 写Excel 代码
- 黄聪:C# 写Excel 代码
- C#3.0 中使用扩展方法来扩展接口
- C#3.0 中使用扩展方法来扩展接口
- C#3.0 中使用扩展方法来扩展接口
- C#3.0 中使用扩展方法来扩展接口
- C#3.0 中使用扩展方法来扩展接口
- 黄聪:C#里如何使用WebBrowser获取处理AJAX生成的网页内容?
- 黄聪:使用 Python 登录网站
- c#面向接口编程
- 元对象系统
- Java中List, Set等转为相应类型的数组的简便方法lamda
- Xamarin问题记录
- 内核程序中进程的pid,handle,eprocess之间相互转换的方法
- Hello world!
- 黄聪:C#尽量使用接口来编程
- Scrollview 嵌套editext 解决滑动问题
- 技术大咖分享:如何评价一段代码?
- Idea2016 不能正常编译输出
- java中NIO编程另一种实现超实用
- HDU4686 Arc of Dream
- send()、sendto()和recv()、recvfrom()的使用
- Docker下kafka学习,三部曲之三:java开发
- Python中的lambda表达式