也谈接口编程
来源:互联网 发布:node.js调用python 编辑:程序博客网 时间:2024/05/03 07:01
刚刚和大峡讨论一个问题,接口编程,这个话题也许大家比我理解多了,我提出一个自己的观点:在个人程序中空接口很少,至少我见的很少!大峡:不对,空接口很多,接口只不过是一个标识,然后我们做了一个很有意思的程序:
空接口:
package springroad.demo.taginterface;
public interface SomeThing {}
人的接口:
package springroad.demo.taginterface;
public interface Humans extends SomeThing {}
动物接口:
package springroad.demo.taginterface;
public interface Animals extends SomeThing {}
创建一系列对象:
中国人:
package springroad.demo.taginterface;
public class Chinese implements Humans {}
日本人:
package springroad.demo.taginterface;
public class Japanese implements SomeThing {}
狗:
package springroad.demo.taginterface;
public class Dog implements Animals {}
主人:
package springroad.demo.taginterface;
public class Monster implements Humans {}
,下面建立一个猎人类:
package springroad.demo.taginterface;
public class Hunter {
//智能的枪
public void intelligent(Object target)
{
if(target instanceof Animals){
System.out.println("打死了一个动物");
}
else if(target instanceof Humans)
{
System.out.println("这个是人类不能开枪的!");
}else {
System.out.println("打死一个日本人,它竟然连动物都不是,浪费了一颗子弹,唉!");}
//下面进行闪杀等相关处理
//销毁他
target=null;
}
public static void main(String[] args) {
Hunter hunter=new Hunter();
SomeThing[] objects=new SomeThing[]{new Dog(),new Chinese(),new Japanese(),new Monster()};
for(int i=0;i<objects.length;i++)
hunter.intelligent(objects[i]);
}
};
这个程序都是通过一系列的空接口来实现的,不过最后他使用一个内部类,要不new 接口就出错了,程序简单,设计颇见优雅,值得大家学习,最后输出结果是:
打死一个动物!
这个是人类不能开枪的!
打死一个日本人,它竟然连动物都不是,浪费一颗子弹,唉!
这个是人类不能开枪!
- 也谈接口编程
- 也谈IConfigurationSectionHandler接口
- 也谈IDisposable接口(一)
- 也谈IDisposable接口(二)
- 也谈IDisposable接口(三)
- 也谈IDisposable接口(四)
- 也谈“汉语编程”
- 也谈汉语编程
- 也谈编程本质
- 也谈规范编程
- 也谈面向对象编程
- 也谈QT线程编程
- 也谈编程等宽字体
- 也谈block 编程那些事
- 也谈根据IE窗口句柄hWnd获得IWebBrowser接口
- 也谈“避免使用虚函数作为库的接口”
- 业余时间也少不了编程
- 菜鸟也来看编程
- vc
- BUG:Visual InterDev 6.0 ASP 调试无法在基于 Windows XP 的计算机上正常运行
- Linux下Eclipse+Myeclipse安装
- 天涯社区超布尔言论
- 让我们看看当当网是怎么骗钱的!!!
- 也谈接口编程
- 如何有效的使用C#读取文件 选择自 cuike519 的 Blog
- SQL2005亲身体验
- std::stable_sort 和 std::for_each 的用法!按结构中某一字段值大小排续!
- 什么是最强的搏击术!
- 为什么老婆还是别人的好?
- 简历制作诀窍谈
- C语言编写的简单的学生成绩管理系统
- 用例图