充分利用面向对象语言的接口特性

原创
开发 开发工具
接口是面向对象语言的特点之一。这个特点源自C++,现在在C#,Java等面向对象语言中都存在这种方式。然而根据一个资深软件工程咨询师的调查,接口还没有被大多数开发人员充分利用。

【51CTO快译】现代的面向对象语言源自C++的特点之一是使用接口。一个接口是一个类,它没有具体的实现过程,只提供一个用来访问其资源的接口。(51CTO编辑:有关面向对象语言的更多特点,可以参考面向对象的思维过程,以及面向对象编程中类设计的几个原则一文

每个接口需要用一些具体的类来实现,但优点是,使得实现细节可以可容易地独立出来。因此,你不必同时担心实现和接口问题。

接口可以帮助我不断建立易于测试、修改、而且不依赖于具体类的软件。接口可能不是最***的面向对象编程,但它在编程、集体的类之上提供了众多的优势。

接口是你和你的其他应用程序之间的一项合约。该合约由编译器保证,因此无法在不改变接口的情况下改变你的类中的服务。

创建一个接口可以让你好好思考你的类需要给客户提供哪些功能。建立接口的正规步骤需要你考虑什么是类中必不可少的,什么是可选的。删除那些并不重要,然后你将拥有一个坚实的基础。

◆接口可以混合。所以即使你想要的所有功能并没有在一个接口中呈现,你也不必担心。你可以随时添加额外的接口,来为具体用例提供所需的方法。使用接口,在建立新功能时,你不会觉得像使用具体类那样受到限制。接口可以随时混合和匹配。

接口让软件测试更容易。由于没有被束缚在具体的实现过程上,你可以通过定义你自己的具体的类,来自由更改测试类所使用的代码。这就会更加模块化,测试结果更加清晰。

接口的缺点

接口的缺点非常少,唯一主要的缺点是,你需要花费一些精力来维护一个独立的实体。但是,现代编程工具使这件事变得很容易,因此它不再像从前那么困难。

使用接口的另一个需要强调的方面是,C++中使用虚指针的实现问题。但是,你必须注意,现代面向对象语言是基于虚拟机的。这种语言把每种方法描述为一个虚指针,除非系统决定内联方法(在这种情况下,不存在实现问题)。除非你有非常重要的软件(在这种情况下,你可能需要使用的C/ C + +)你不应该担心这种实现问题,因为虚拟机会很好地解决这种问题。如果对虚拟机的概念仍然不很了解,可以参考详细介绍什么是Java虚拟机一文。

结论

接口是一个现代化的机制,用来改进软件设计。尽管这样,接口还没有被大多数开发人员充分利用。我们应该利用接口作为应用程序各个部分之间默认的通信方法,只在建立对象(工厂方法)以及向包中加入类时使用具体类。

原文:When in Doubt, Create an Interface by Carlos Oliveira

【相关阅读】

  1. Java语言中抽象类和接口的区别
  2. 浅谈C#中的接口问题
  3. 跟MVP学C#视频教程之八 接口
责任编辑:yangsai 来源: 51CTO.com
相关推荐

2013-01-18 14:02:46

VDI存储IOPS

2010-05-06 12:44:13

Unix系统

2017-01-04 15:42:43

运营商SDN服务保障

2023-10-23 16:11:14

2019-06-13 19:20:38

云平台迁移云计算

2018-09-04 08:40:41

数据中心网络机柜

2015-02-26 09:50:42

vSphereSSD

2019-05-05 09:26:01

物联网安全物联网投资物联网

2013-03-22 10:30:16

IT主管ITM云计算

2015-06-04 09:12:05

云安全

2020-08-18 09:03:06

云计算云存储数据

2013-07-25 09:20:32

Windows 8.1

2021-06-02 13:17:42

物联网IOT

2023-09-05 14:58:23

大数据

2021-02-09 10:55:10

物联网人工智能边缘计算

2020-09-28 20:44:44

机器学习开源工具编程语言

2020-06-22 11:59:23

物联网构建系统IOT

2021-03-27 10:53:05

NodeJSCPU服务器

2022-09-26 14:42:36

数据中心IT 行

2019-08-06 09:52:16

网络工具数据
点赞
收藏

51CTO技术栈公众号