本文目录一览

1,delphi 接口有什么作用

接口的定义: COM定义了一个对象的函数怎样在内存中布置的标准,这些函数被安排到虚拟表,类似于DELPHI的虚拟方法表。编程语言对每个虚拟表的描述就是接口。接口的作用: 接口包含一些函数和过程,以便来操作这个COM对象 接口并不实现自己,只是一个约定,它包含两个部份: 1、定义部分 这是COM对象和这个定义的对像共享的 2、实现部分 申明的方法的实现......

delphi 接口有什么作用

2,面向对象编程使用接口有什么好处

接口的优势在于一个类可以由多个接口实现,但接口的问题在不允许为任何方法提供实现.. 在系统设计的时候..可以把接口作为系统中最高层次的抽象类型,如你所说,接口告诉外界系统能提供哪些服务,而抽象类可以用来定制系统中的扩展,部分实现一些方法,另一些功能让子类去实现,接口和抽象类的灵活运用其实可以较好的提高系统的松耦合程度
在设计上: 接口使得你专注于软件的功能,把功能抽象成接口,而不用考虑具体的细节。 在实现上: 接口常是实现多态的方式,并且接口能混合。 在测试上: 接口更是方便测试人员根据接口去测试,而不用关心内部的实现。
看到楼上的回答很精确...我就路过啦! LZ理解不了的话找几个人一起去写个小软件,每人负责其中一个模块,你就深有体会的啦!

面向对象编程使用接口有什么好处

3,为什么在软件项目开发时要基于接口进行开发定义接口有什么作用

接口就是不同的类、数据、等等交互的方式。我举个例子吧。比如你的系统设计师已经把系统的大体设计好了。他给出了一个类写在某个头文件里:class examplepublic:example(各种参数); int function(各种参数);};那么负责实现这个类的功能的人只需要对着这个头文件去写实现就够了。而且使用到这个类的人可以直接使用这个类和里面的函数,不用关心实现。
举个例子吧,这样能说明问题。两个人开发同一个程序,两个人在不同的地点,联系并不方便,这时就需要先定义好互相访问的接口,实现时只要符合接口就行,无需在开发中频繁的沟通。
接口,在这里就是类的全局成员函数,供调用者使用的。如:class a...//内部变量private:int m_ncount;cstring m_sname;//接口函数public:int getitemcount() ; cstring getname() ; void setitemcount( int ncount ) ;void setname( cstring snewname ) ; ...} ;

为什么在软件项目开发时要基于接口进行开发定义接口有什么作用

4,Java引入接口有什么好处

java中的类是不允许多继承的,而接口可以多继承,算是一点弥补,然后就是使用接口可以封装具体的实现,不向外部暴露具体的实现细节,只将接口暴露出来,用户也只能够通过接口访问,这样也有一定的安全性
建议楼上搞清楚面向对象再开始写程序。。
规范代码结构
接口的作用   接口的作用简单一点就是:接口是用来标记类的,不同的类属于不同的接口(通过向上转型),管理接口比管理各种各样的类方便多了,接口体现了抽象的观点,什么是抽象?抽象就是"抽去像的部分"。   使用接口解决问题   问题:现在我们要写个连接数据库的类给用户使用,有两个函数:一个返回Connection对象,另一个是关闭数据库,close(),一般的解决方法是:给每个数据库写一个类,再根据用户使用的数据库决定使用具体的类。   好的,我们看看这样有什么不好之处:   (1).首先每个类都要有重复的代码,造成代码的膨胀;   (2).其次最重要的是我们并不知道用户使用什么数据库,可能是Oracle,可能是mysql,也可能是sqlserver等,这个问题很难解决。   解决方案:   首先我们定义接口:   public interface DataBase     java.sql.Connection openDB(String url,String user,String password);   void close();   }   我们定义了两个方法,openDB返回Connection对象,close()关闭数据库;   具体的实现在实现DataBase接口的类中;   下面看看实现:   import java.sql.*;   public class Mysql implements DataBase     private String url=”jdbc:mysql:localhost:3306/test”;   private String user=”root”;   private String password=””;   private Connection conn;   public Connection openDB(url,user,password)     //连接数据库的代码   }   public void close()     //关闭数据库   }   }   类mysql实现了DataBase接口,下面还有实现了DataBase接口的oraclesql等类;   这些类都归于DataBase接口了,如何在应用程序中使用呢?   我们要定义DataBase对象 myDB,通过myDB来操纵数据库,可以不要分清是哪个类了。   另外的问题:Java中不许我们实例化接口,如DataBase myDB=new DataBase();   我们只能myDB=new Mysql()或者myDB=new Oracle()。这样我们还必须指定实例化哪个对象,好像前面的努力都白费了啊!!那怎么办呢,我们需要一个工厂:   public class DBFactory     public static DataBase Connection getConn()     Return(new Mysql());   }   }   实例化的代码变成:myDB=DBFactory.getConn();   整个过程中接口不负责任何具体操作,其他的程序要连接数据库的话,只需要构造一个DB对象就OK,而不管工厂类如何变化。这就是接口的意义----抽象。

5,java中的接口的作用是什么啊

我举个我常遇见的小例子方便你理解。我们做java开发,通常用到数据库。数据库有oracle,DB2等等。不同的数据库操作上有些差别。而我们做一个项目,卖给别人的是.class文件,也就是说,不能修改源码了。如果客户需求说,可能要换数据库,你该怎么办?功能一样,但数据库这些东西不一样,这不一样的东西通常的做法是把这个接口做多种不同的实现。那样我们做逻辑时,就可以用接口声明对象,至于这个对象指向操作哪个数据库的实现类,我们程序开发的不虚多管,事后一个配置文件就解决了。(这个以后你深入学习Spring,了解依赖注入的机制后就明白了。)至于说重写,诚然,某种程度相对于接口好用,好用的地方我就不说了。我跟你说说项目开发的事。通常,大项目不是一个人完成的,而是分模块,每个人完成不同模块,而不同模块的功能有交互的地方。这个时候我们就需要接口来定义规范,开发者按照定义好的规范进行编程,到时候,项目组其他成员与你模块进行交互的时候只需要用接口声明实例,调用接口的方法(反正他/她知道,这个方法是能进行那样操作的,至于你怎么实现,完全不需理会。)。
Java中接口的作用:1)利于代码的规范这样做的目的一方面是为了给开发人员一个清晰的指示,告诉他们哪些业务需要实现;同时也能防止由于开发人员随意命名而导致的命名不清晰和代码混乱,影响开发效率。2)有利于对代码进行维护可以一开始定义一个接口,把功能菜单放在接口里,然后定义类时实现这个接口,以后要换的话只不过是引用另一个类而已,这样就达到维护、拓展的方便性。3)保证代码的安全和严密一个好的程序一定符合高内聚低耦合的特征,能够让系统的功能较好地实现,而不涉及任何具体的实现细节。这样就比较安全、严密一些,这一思想一般在软件开发中较为常见。
那里因为你还不懂开发,接口的作用大了去了接口可以用来做事件回调接口可以用来定义一个模形例如JDK里我们常用的List集合,Map集合,都是接口通常我们会用List<Object> list = new ArrayList<Object>(); 这种方式去声明List只是一接口,它只是定义了一些模型,例如获得某个元素,List.get(index); 等等那么它的实现类有ArrayList 这是以数组的形式去实现Vector 这也是以数组的形式去实现,但是它是同步的还有一个LinkedList 这是以双向链表的形式去实现还有很多的子类每种都有自己的特点,而程序中会以不同的业务去使用,但是我们在方法中只需要定义一个List就行了根据不同的业务逻辑,用不同的子类
接口就是java提供的一个面向对象的机制,接口类似于全部方法都是抽象方法的抽象类,(抽象类你肯定知道了撒),就好比抽象方法和常量值的定义的集合,申明方法和类的申明方法差不多. interface{ [] [] } 同时接口中所有的方法都是抽象方法,而且接口中的方法都默认是public,abstract的,所以可以省略2个修饰符,但是正因为如此,不能使用和public,abstract有冲突的方法标示,在接口中也可以申明常量,但是不能申明实例变量. java中的继承只能支持单一继承,所以.接口的提供为我们实现多继承提供了路径,这么理解就很方便了,
简单给你举个例子,插件。用接口A规定一个方法public String B(String a)然后把接口类交给其他人,(不用暴露自己程序代码),自己程序,事先写好,加载外部插件类(这个类其他人写的,实现了接口A),然后调用这个类的B方法(因为实现了接口A,所以B方法必定存在)吧程序的信息通过参数给传给它,然后保存它返回的结果。【具体插件做了什么,不是我考虑,我只需要获得结果】这样简单的完成了程序的扩展。

6,java 的接口到底起什么作用

下面是madai和clkrst给我的回答。 在此谢谢两位。 我的问题是: ? 1、从书中看到的是java程序的接口中只定义了常量及空方法,空的方法有什么用呢?还要在类中写方法体,那还要接口干什么? 2、一个程序中写了2个接口,并在同一个类中写方法体,这与多继承有什么关系。 3、包中那些已定义的接口,怎么知道那里面定义了什么方法。 说到底,接口有什么实际意义,哪本书都不讲,一味的讲是多继承,不结合实际实在不好懂。 Madai的理解是: java接口的用处主要体现在下面几个方面: (1)通过接口可以实现不相关类的相同行为,而不需要了解对象所对应的类。 (2)通过接口可以指明多个类需要实现的方法。 (3)通过接口可以了解对象的交互界面,而不需了解对象所对应的类。 Clkrst给出了更详细的解释: 类描述了一个实体,包括实体的状态,也包括实体可能发出的动作。 接口定义了一个实体可能发出的动作。但是只是定义了这些动作的原型,没有实现,也没有任何状态信息。 所以接口有点象一个规范、一个协议,是一个抽象的概念;而类则是实现了这个协议,满足了这个规范的具体实体,是一个具体的概念。 从程序角度,简单理解,接口就是函数声明,类就是函数实现。需要注意的是同一个声明可能有很多种实现。 所以就你的问题: 1、接口中定义类方法的原型,但是不能说是空方法,因为空方法的意思是有实现体,只不过实现体是空操作。实际上接口没有定义任何实现体。具体的实现体都是在实现接口的类中,接口只是定义了这些方法的调用方式。 你当然也可以不用接口,直接在类里面写方法,但是如果你的一组方法需要在很多类里实现,那么把它们抽象出来,做成一个接口规范,不是更好么? 2、一个类描述了一个实体,这个实体可能是一个复杂的对象,它的动作很多,如果把这些动作分类,用接口a定义其中的某一组动作,接口b定义其中的另外一组动作,这样的结构,比较清楚。 这种方式具备了多继承的优点,避免了多继承的缺陷。实际上在历史上,接口在很大程度上,是为了解决多继承带来的种种问题而设计出来的。 3、包中那些已定义的接口,怎么知道那里面定义了什么方法。 接口里定义了方法的输入输出,这些都是协议,具体的实现都在每个类中。对于很多只需要抽象接口的地方,不需要知道具体的类是什么,只要这个类实现了这个接口就可以了。
什么是接口? java中的接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。 接口的两种含义:一,java接口,java语言中存在的结构,有特定的语法和结构;二,一个类所具有的方法的特征集合,是一种逻辑上的抽象。前者叫做“java接口”,后者叫做“接口”。 在java语言规范中,一个方法的特征仅包括方法的名字,参数的数目和种类,而不包括方法的返回类型,参数的名字以及所抛出来的异常。在java编译器检查方法的重载时,会根据这些条件判断两个方法是否是重载方法。但在java编译器检查方法的置换时,则会进一步检查两个方法(分处超类型和子类型)的返还类型和抛出的异常是否相同。 接口继承和实现继承的规则不同,一个类只有一个直接父类,但可以实现多个接口。 java接口本身没有任何实现,因为java接口不涉及表象,而只描述public行为,所以java接口比java抽象类更抽象化。 java接口的方法只能是抽象的和公开的,java接口不能有构造器,java接口可以有public,静态的和final属性。 接口把方法的特征和方法的实现分割开来。这种分割体现在接口常常代表一个角色,它包装与该角色相关的操作和属性,而实现这个接口的类便是扮演这个角色的演员。一个角色由不同的演员来演,而不同的演员之间除了扮演一个共同的角色之外,并不要求其它的共同之处。 为什么使用接口? 两个类中的两个类似的功能,调用他们的类动态的决定一种实现,那他们提供一个抽象父类,子类分别实现父类所定义的方法。 问题的出现:java是一种单继承的语言,一般情况下,哪个具体类可能已经有了一个超类,解决是给它的父类加父类,或者给它父类的父类加父类,只到移动到类等级结构的最顶端。这样一来,对一个具体类的可插入性的设计,就变成了对整个等级结构中所有类的修改。 接口是可插入性的保证。 在一个等级结构中的任何一个类都可以实现一个接口,这个接口会影响到此类的所有子类,但不会影响到此类的任何超类。此类将不得不实现这个接口所规定的方法,而其子类可以从此类自动继承这些方法,当然也可以选择置换掉所有的这些方法,或者其中的某一些方法,这时候,这些子类具有了可插入性(并且可以用这个接口类型装载,传递实现了他的所有子类)。 我们关心的不是那一个具体的类,而是这个类是否实现了我们需要的接口。 接口提供了关联以及方法调用上的可插入性,软件系统的规模越大,生命周期越长,接口使得软件系统的灵活性和可扩展性,可插入性方面得到保证。 类型 使用java接口将软件单位与内部和外部耦合起来。使用java接口不是具体的类进行变量的类型声明,方法的返还类型声明,参量的类型声明,以及数据类型的转换。 在理想的情况下,一个具体的java类应当只实现java接口和抽象java类中声明的方法,而不应当给多余方法。 类型等级结构 java接口(以及抽象类)一般用来作为一个类型的等级结构的起点。 如果一个类已经有了一个主要的超类型,那么通过实现一个接口,这个类可以拥有另一个次要的超类型,这种次要的超类型叫做混合类型。 java接口常用方法 单方法接口 public interface actionlistener(){ public abstract void actionperformed(actionevent event); } 仅且只有一个方法,只有实现了这个接口(重写这个接口中的唯一一个方法),你才有资格去事件监听器列表里注册(参数为actionlistener类型),当事件源变动时,自动调用这个唯一的actionperformed方法. 标识接口 是没有任何方法和属性的接口。标识接口不对实现它的类有任何语意上的要求,它仅仅表明了实现它的类属于一个特定的类型(传递)。 不推荐过多的使用标识接口。 常量接口 用java接口来声明一些常量,然后由实现这个接口的类使用这些常量(以前在做画板的时候这么干过)。建议不要模仿这种常量接口的做法。参考资料:

文章TAG:接口的作用  delphi  接口有什么作用  
下一篇