接口其实是一种定义方法的标准。多个项目开发起来,如果串型开发的话函数越多无法管理,并行开发的话没有一个标准也不好分配任务,于是,接口的概念完全解决了这个问题,可能现在很多书上的例子仅仅把接口当做解决做继承的问题(因为JAVA没有多继承),但其理解起来有点无法接受,但他的作用远远不是解决多继承的。<o:p></o:p>
如果你读过我在我的blog里写的abstract 方法总结的话,获取会对接口会接受的更快些。因为他们之间有一定的联系,同是抽象出一个方法(接口是抽象一个标准方法),让继承/使用的类去定义这种方法。不同的是,如果使用接口的方法,就必须在使用接口的类中全部把他定义出来,因为类使用了一个标准,就必须遵守这个标准。<o:p></o:p>
还是介绍一下接口,接口是用interface来定义的,和类一样,可以有成员,有方法,不过,它的方法不能被定义。缺省的修饰符是 public abstract ,接口可以向类一样继承,例如<o:p></o:p>
interface f1{<o:p></o:p>
void deMethod(); // public and abstract;<o:p></o:p>
public abstract void deMethod1(); // public and abstract<o:p></o:p>
}<o:p></o:p>
interface f2 extends f1{<o:p></o:p>
void deMethod2();<o:p></o:p>
}<o:p></o:p>
继承后接口f2 就含有3个标准<o:p></o:p>
void deMethod();<o:p></o:p>
void deMethod1();<o:p></o:p>
void deMethod2();<o:p></o:p>
<o:p> </o:p>
使用接口的时候用implements .使用了接口的类,不得将定义的方法访问控制低于接口的访问控制,接口的方法不能为native,static,final,synchronized,priavte,protected.所以使用接口的类一般控制访问应该设为public.<o:p></o:p>
<o:p> </o:p>
可能你还不了解 “标准”。下面我将以一个简单的例子来做解答<o:p></o:p>
<o:p> </o:p>
电脑里的有显卡,主板,显示器,CPU等,为什么他们可以由几个不同的厂商生产呢?其实就是因为在他们生产之间准备一种标准,让彼此只要遵守这个标准就OK拉,显示器厂商不会去关心CPU是什么型号,他只管接收显卡发射的图像并让自己显示出来就可以了,显卡同样不会去关心主板是谁生产的,它只遵守把能插在主板上并把用户的图像显示出去就可以了,于是大家干活起来越来越轻松,这就是标准带来的好处。<o:p></o:p>
我们来定义一个显卡,一个主板。你将可以看到接口使用的好处<o:p></o:p>
<o:p> </o:p>
interface Video{ //定义一个简单的显卡标准,主要负责显示和获得显卡厂家名字<o:p></o:p>
void display();<o:p></o:p>
String getName();<o:p></o:p>
}<o:p></o:p>
<o:p> </o:p>
class VideoCard implements Video{ //使用这个标准来定义<o:p></o:p>
private String name;<o:p></o:p>
public void display(){<o:p></o:p>
System.out.println("VideoCard Working....");<o:p></o:p>
}<o:p></o:p>
<o:p></o:p>
public String getName(){<o:p></o:p>
return name;<o:p></o:p>
}<o:p></o:p>
<o:p></o:p>
public void setName(String name){<o:p></o:p>
this.name = name;<o:p></o:p>
}<o:p></o:p>
}<o:p></o:p>
<o:p> </o:p>
class MainBoard{<o:p></o:p>
Video v;//主板组合一个显卡标准
void setVideoCard(Video v){<o:p></o:p>
this.v = v;<o:p></o:p>
}<o:p></o:p>
void run(){ //主板运行<o:p></o:p>
v.display();//由于显卡标准规定,主板调用显卡标准的输出方法<o:p></o:p>
System.out.println("VideoCard is " + v.getName());//由于显卡标准规定,主板调用显卡获取名字方法<o:p></o:p>
<o:p> </o:p>
System.out.println("mainBoard Working...");<o:p></o:p>
}<o:p></o:p>
}<o:p></o:p>
<o:p> </o:p>
public class Computer{ //配置一台电脑<o:p></o:p>
public static void main(String [] args){<o:p></o:p>
VideoCard v = new VideoCard(); //买一块显卡<o:p></o:p>
v.setName("创新显卡");<o:p></o:p>
MainBoard m = new MainBoard();<o:p></o:p>
m.setVideoCard(v);//装到主板上<o:p></o:p>
m.run();<o:p></o:p>
}<o:p></o:p>
}<o:p></o:p>
<o:p> </o:p>
这么一来。接口的作用得到充分利用。<o:p></o:p>
分享到:
相关推荐
总结起来,接口在TypeScript中扮演着关键角色,提供了一种灵活且强大的方式来描述对象的结构。通过额外任意属性,我们可以创建适应性强的接口;函数类型接口则让函数的类型检查更加规范;接口继承则允许我们构建复杂...
本文档主要探讨了如何构建COM对象、INTERFACE接口以及接口基类的模型,特别是通过`ShareObject<>`模板类实现COM对象的引用计数和生命周期管理。 首先,`ShareObject<>`是一个模板类,它的主要目的是为了封装一个...
4. **interface(接口)** - **接口**:接口是一组抽象方法的集合,用于定义一类对象的行为。它是一种多继承机制,一个类可以实现多个接口。接口中的所有方法默认都是抽象的(即使没有声明为abstract),且默认为...
总结来说,"yh_interface.dll"作为医保调用的核心组件,对于医疗信息化系统的构建至关重要。开发者需要深入理解其工作原理,熟练掌握调用方法,同时关注数据安全和系统稳定性,以实现高效、可靠的医保服务。通过合理...
在C++编程中,接口(Interface)的概念通常与面向对象编程相关,它是定义类或对象行为的一种规范。虽然C++语言本身并没有直接提供接口的概念,但可以通过一些技巧来模拟接口的实现。这篇博客"《C++接口实现总结》...
总结,FANUC的Robot Interface是实现智能制造的关键组件,它通过高效的通讯和控制,推动了自动化生产线的优化和升级。理解并充分利用Robot Interface的功能,有助于提升生产效率,降低人工成本,增强企业的竞争力。...
"IPMI接口总结、IPMB总线概述" IPMI(Intelligent Platform Management Interface)是一种智能平台管理接口,用于实现服务器平台管理,包括服务器的实时监控、故障诊断、远程控制等功能。IPMI协议基于IPMB...
1.接口的特点 1)接口里的所有属性都是public static final的; 2)接口里的所有方法都是public abstract的; 3)接口与接口之间可以继承 如: public interface InterfaceA extends InterfaceB{} 4)类可以实现接口,一...
总结来说,C#调用Delphi导出的Interface的DLL涉及到的主要步骤包括:理解Delphi接口的概念,配置DLL的可见性,使用P/Invoke在C#中声明接口,处理类型转换,以及在C#中实现调用逻辑。理解这些知识点对于进行跨平台的...
本篇文章将深入探讨ArcEngine的接口总结,帮助开发者更好地理解和利用这些接口来实现功能丰富的GIS应用。 1. **ArcEngine核心接口** ArcEngine的核心接口包括了`IArcMapDocument`、`IMapControl`和`IFeatureLayer`...
### C#接口(Interface)用法详解 #### 一、接口的概念与作用 在面向对象编程语言中,接口(Interface)是一种重要的抽象机制,它定义了一组规则,这些规则规定了实现该接口的类必须遵循的行为。接口并不实现任何...
总结,华为HDB Interface驱动是华为设备管理的重要组成部分,通过它,用户可以实现高效、安全的设备交互和管理,提升工作效率。正确安装和更新驱动,对于确保华为设备的正常运行和优化性能至关重要。同时,了解其...
在Python编程语言中,接口类...总结起来,Python3中的接口类利用`abc`模块提供了类间的行为规范,帮助构建更健壮和易于扩展的代码结构。同时,`@property`装饰器可以将方法封装成属性,使代码更加优雅和符合习惯。
总结一下,接口在Java编程中起到以下作用: 1. 定义行为规范:接口规定了类必须实现的方法,确保所有实现该接口的类具有相同的行为。 2. 多态性支持:通过接口,不同的类可以实现相同的方法,使得程序设计更加灵活。...
接口(Interface)在C#中是一种特殊的抽象类型,它定义了一个类或结构必须实现的行为规范。通过接口,我们可以定义一组方法、属性、索引器和事件,但不能定义字段。接口中的成员默认都是公共的(public),并且不能...
在这个名为“APi_interface.rar”的压缩包中,我们关注的是C++实现的API接口,以及如何与COM(组件对象模型)进行交互。下面我们将详细探讨这些知识点。 1. **C++ API接口**: C++ API接口是一种设计模式,允许...
总结一下,"Visual C# Custom Interface VS2008 Example"是一个关于如何在C#中使用Visual Studio 2008创建和实现自定义接口的教程。通过学习这个例子,开发者可以更好地理解接口的概念,以及如何在实际项目中利用...
4. 根据识别的结果,生成对应的Zope.interface接口定义。 5. 接口定义文件可以被导入到项目中,用于类或对象的实现。 值得注意的是,“1.0b2”表示这是1.0版本的第二个beta版,意味着可能存在一些未解决的问题或者...