接口学习

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

接口一直是我一知半解的编程概念.

学习接口之前,有这么几个问题需要被提出来:

WHAT 什么是接口?

WHY 为什么要用接口?(接口有什么用?接口有什么优点?)

HOW 怎么使用接口?

WHEN,WHERE 什么时候,什么地方使用接口?

IF NOT 如果不使用接口,能否实现同样的设计,如果可以两个方案的区别又在什么地方

通过学习我了解到:

WHAT 什么是接口:

接口是一种只有声明没有实现的特殊类

接口是一种约定,实现接口的类性格严格按照期定义来实现接口的每个方面.

如果假设接口是一个定义好的钥匙孔,面实现这个接口的多个类假设是门锁,那么在执行就可以忽略我面对的是哪个锁,我只需要用同一把钥匙就可以开这一类的锁了.

接口是一个对象在对其它的对象进行调用时所知道的方法集合。

一个对象可以有多个接口(实际上,接口是对象所有方法的一个子集)

类型是对象的一个特定的接口。

不同的对象可以具有相同的类型,而且一个对象可以具有多个不同的类型。

一个对象仅能通过其接口才会被其它对象所了解。

某种意义上,接口是以一种非常局限的方式,将“是一种…”表达为“一种支持该接口的…”。

接口是实现插件化(pluggability)的关键

WHY 为什么要用接口?(接口有什么用?接口有什么优点?)

官方的说明是:

有了接口,可以将功能定义为一些紧密相关成员的小组,可以在不危害现有代码的情况下,开发接口的增强型实现,从而使兼容性总是最小化,也可以在任何时候开发附加接口和实现来添加新的功能.

Client不必知道其使用对象的具体所属类。

一个对象可以很容易地被(实现了相同接口的)的另一个对象所替换。

对象间的连接不必硬绑定(hardwire)到一个具体类的对象上,因此增加了灵活性。

松散藕合(loosens coupling)。

增加了重用的可能性。

提高了(对象)组合的机率,因为被包含对象可以是任何实现了一个指定接口的类。

缺点:

设计的复杂性略有增加

(译者注:接口表示“…像…”(LikeA)的关系,继承表示“…是…”(IsA)的关系,组合表示“…有…”(HasA)的关系。)

HOW 怎么使用接口?

1 :通过在模块文件中定义interface

interface interface1

sub sub1(x as integer)

end sub

function function1(x as integer) as integer

end function

end interface

2 :在需要实现该接口的类中使用implements引用该接口

public class myclass1

implements interface1

....

end class

WHEN,WHERE 什么时候,什么地方使用接口?

IF NOT 如果不使用接口,能否实现同样的设计,如果可以两个方案的区别又在什么地方

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航