interface programming
来源:互联网 发布:网络调查问卷赚钱 编辑:程序博客网 时间:2024/05/19 11:19
「针对接口编程」真正的意思是「针对超类型(s u p e r t y p e)编程」。
「针对接口编程」,关键就在多态。
利用多态,程序可以针对超类型编程,执行时会根据实际状况执行到真正的行为,不会被绑死在超类型的行为上。「针对超类型编程」这句话,可以更明确地说成「变量的声明类型,应该是超类型,通常是一个抽象类或者是一个接口,如此,只要是具体实现此超类型的类所产生的对象,都可以指定给这个变量;这也意味着,声明类时,不用理会以后执行时的真正对象类型!」
看看下面这个简单的多态例子:假设有一个抽象类A n i m a l,有两个具体的实现(D o g与C a t)继承A n i m a l。「针对实现编程」,作法如下:
Dog d = new Dog();
d.bark();
但是「针对接口/超类型编程」,作法会如同下面:
Animal animal = new Dog();
animal.makeSound();
更棒的是,子类型实例化的动作不再需要在代码中硬编码,例如new Dog( ),而是「在运行时才指定具体实现的对象」。
a = getAnimal();
a.makeSound();
- interface programming
- Interface Programming: Shareaza & wxWindows
- 【CUDA C】Programming Interface
- BAPI (Business Application Programming Interface)
- Interface Properties (C# Programming Guide)
- MAPI - Messaging Application Programming Interface
- MTD NAND Driver Programming Interface
- The Linux Programming Interface 16
- "Programming to an Interface, not an Implementation"
- 面向对象理论(6)-Interface Programming-[A]
- 面向对象理论(7)-Interface Programming-[B]
- API(Application Programming Interface)应用程序编程接口
- Java Programming Tutorial Java Native Interface (JNI)
- Java Programming Tutorial Java Native Interface (JNI)
- Serial Notes for Linux Programming Interface
- The Linux Programming Interface 00 preface 序言
- The Linux Programming Interface 06 Process 进程
- The Linux Programming Interface 10 Time 时间
- 沉金板与镀金板的区别
- bin文件格式分析
- android
- Spring framework
- struct tm 和 time_t 时间和日期的使用方法
- interface programming
- 在不同版本的 IIS 上使用 ASP.NET MVC
- 关于杜曼和七田真早教的两篇文章
- LAB.js DOC文档
- 关于JSP显示Excel图表的JFreeChart使用(参考网络资料)
- Pc端和移动端拖拽组件jquery.drag.js
- Eclipse+mingw 一些注意事项
- 删除临时文件的一段脚本
- jetty 嵌入式服务器介绍