`
Tiwen
  • 浏览: 86859 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

interface接口总结

阅读更多

接口其实是一种定义方法的标准。多个项目开发起来,如果串型开发的话函数越多无法管理,并行开发的话没有一个标准也不好分配任务,于是,接口的概念完全解决了这个问题,可能现在很多书上的例子仅仅把接口当做解决做继承的问题(因为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>



分享到:
评论

相关推荐

    第九课 interface接口进阶1

    总结起来,接口在TypeScript中扮演着关键角色,提供了一种灵活且强大的方式来描述对象的结构。通过额外任意属性,我们可以创建适应性强的接口;函数类型接口则让函数的类型检查更加规范;接口继承则允许我们构建复杂...

    C++中COM对象INTERFACE接口和接口基类三者的构建模型[归类].pdf

    本文档主要探讨了如何构建COM对象、INTERFACE接口以及接口基类的模型,特别是通过`ShareObject&lt;&gt;`模板类实现COM对象的引用计数和生命周期管理。 首先,`ShareObject&lt;&gt;`是一个模板类,它的主要目的是为了封装一个...

    static、final、abstract和interface使用总结

    4. **interface(接口)** - **接口**:接口是一组抽象方法的集合,用于定义一类对象的行为。它是一种多继承机制,一个类可以实现多个接口。接口中的所有方法默认都是抽象的(即使没有声明为abstract),且默认为...

    yh_interface.rar_yh_interface_yh_interface.dll_医保_医保调用dll

    总结来说,"yh_interface.dll"作为医保调用的核心组件,对于医疗信息化系统的构建至关重要。开发者需要深入理解其工作原理,熟练掌握调用方法,同时关注数据安全和系统稳定性,以实现高效、可靠的医保服务。通过合理...

    C++接口实现总结

    在C++编程中,接口(Interface)的概念通常与面向对象编程相关,它是定义类或对象行为的一种规范。虽然C++语言本身并没有直接提供接口的概念,但可以通过一些技巧来模拟接口的实现。这篇博客"《C++接口实现总结》...

    Robot Interface介绍_interface_interfacefanuc_fanuc_fanucrobot_robo

    总结,FANUC的Robot Interface是实现智能制造的关键组件,它通过高效的通讯和控制,推动了自动化生产线的优化和升级。理解并充分利用Robot Interface的功能,有助于提升生产效率,降低人工成本,增强企业的竞争力。...

    ipmi接口总结、ipmi接口总结、

    "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接口(ITest = interface)

    总结来说,C#调用Delphi导出的Interface的DLL涉及到的主要步骤包括:理解Delphi接口的概念,配置DLL的可见性,使用P/Invoke在C#中声明接口,处理类型转换,以及在C#中实现调用逻辑。理解这些知识点对于进行跨平台的...

    Arcengine接口总结

    本篇文章将深入探讨ArcEngine的接口总结,帮助开发者更好地理解和利用这些接口来实现功能丰富的GIS应用。 1. **ArcEngine核心接口** ArcEngine的核心接口包括了`IArcMapDocument`、`IMapControl`和`IFeatureLayer`...

    C#接口(Interface)用法分析.pdf

    ### C#接口(Interface)用法详解 #### 一、接口的概念与作用 在面向对象编程语言中,接口(Interface)是一种重要的抽象机制,它定义了一组规则,这些规则规定了实现该接口的类必须遵循的行为。接口并不实现任何...

    华为HDB Interface驱动.zip

    总结,华为HDB Interface驱动是华为设备管理的重要组成部分,通过它,用户可以实现高效、安全的设备交互和管理,提升工作效率。正确安装和更新驱动,对于确保华为设备的正常运行和优化性能至关重要。同时,了解其...

    Python3之接口类(InterfaceClass)浅谈

    在Python编程语言中,接口类...总结起来,Python3中的接口类利用`abc`模块提供了类间的行为规范,帮助构建更健壮和易于扩展的代码结构。同时,`@property`装饰器可以将方法封装成属性,使代码更加优雅和符合习惯。

    理解接口interface,j简单的一个demo

    总结一下,接口在Java编程中起到以下作用: 1. 定义行为规范:接口规定了类必须实现的方法,确保所有实现该接口的类具有相同的行为。 2. 多态性支持:通过接口,不同的类可以实现相同的方法,使得程序设计更加灵活。...

    C# interface学习经验浅谈

    接口(Interface)在C#中是一种特殊的抽象类型,它定义了一个类或结构必须实现的行为规范。通过接口,我们可以定义一组方法、属性、索引器和事件,但不能定义字段。接口中的成员默认都是公共的(public),并且不能...

    APi_interface.rar_c++ API接口_com/interface-api

    在这个名为“APi_interface.rar”的压缩包中,我们关注的是C++实现的API接口,以及如何与COM(组件对象模型)进行交互。下面我们将详细探讨这些知识点。 1. **C++ API接口**: C++ API接口是一种设计模式,允许...

    Visual C# Custom Interface VS2008 Example_interface_hayi97_kepwa

    总结一下,"Visual C# Custom Interface VS2008 Example"是一个关于如何在C#中使用Visual Studio 2008创建和实现自定义接口的教程。通过学习这个例子,开发者可以更好地理解接口的概念,以及如何在实际项目中利用...

    wsdl2interface-1.0b2.tar

    4. 根据识别的结果,生成对应的Zope.interface接口定义。 5. 接口定义文件可以被导入到项目中,用于类或对象的实现。 值得注意的是,“1.0b2”表示这是1.0版本的第二个beta版,意味着可能存在一些未解决的问题或者...

Global site tag (gtag.js) - Google Analytics