词条 | interface |
释义 | C#中的关键字接口的定义接口是一种约束形式,其中只包括成员定义,不包含成员实现的内容。 interface是C# 中接口操作的关键字,功能是把所需成员组合起来,以封装一定功能的集合。它好比一个模板,在其中定义了对象必须实现的成员,通过类或结构来实现它。接口不能直接实例化,即ICount ic=new iCount()是错的。接口不能包含成员的任何代码,只定义成员本身。接口成员的具体代码由实现接口的类提供。接口使用interface关键字进行声明。 声明格式如下: [attributes] [modifiers] interface identifier [: base-list] {interface-body} {;} 使用说明1、attributes(可选):附加的定义性信息。 2、modifiers(可选): 允许使用的修饰符有 new 和四个访问修饰符。分别是:new、public、protected、internal、 private。在一个接口定义中同一修饰符不允许出现多次,new 修饰符只能出现在嵌套接口中,表示覆盖了继承而来的同名成员。The public, protected, internal, and private 修饰符定义了对接口的访问权限。 3、指示器和事件。 4、identifier:接口名称。 5、base-list(可选):包含一个或多个显式基接口的列表,接口间由逗号分隔。 6、interface-body:对接口成员的定义。 7、接口可以是命名空间或类的成员,并且可以包含下列成员的签名: 方法、属性、索引器 。 8、一个接口可从一个或多个基接口继承。 接口这个概念在C#和Java中非常相似。接口的关键词是interface,一个接口可以扩展一个或者多个其他接口。按照惯例,接口的名字以大写字母"I"开头。 计算机的接口同一计算机不同功能层之间的通信规则称为接口。 对协定进行定义的引用类型。其他类型实现接口,以保证它们支持某些操作。接口指定必须由类提供的成员或实现它的其他接口。与类相似,接口可以包含方法、属性、索引器和事件作为成员。 接口中可以声明属性、方法、事件和类型(Structure),(但不能声明变量),但是并不能设置这些成员的具体值,也就是说,只能定义,不能给它里面定义的东西赋值。 INTERFACE 地毯INTERFACE(英特飞) 美国第一大地毯生产商,也是世界第一大方块地毯生产商,其方块地毯市场占有率在40%以上(2008年美国fouce杂志)。在西方,INTERFACE已是高端住宅、写字楼、酒店等的首选地面材料,在地毯界能有这么高的市场占有率,绝对是奇迹! Java接口l 【定义】Java中,能够完成特定功能的,由若干属性和方法组织成的,相对独立的属性和方法的集合。 l 【用途】实现类的多继承,以解决Java只能单继承,不支持多继承的问题。 l 【特点】 用关键字interface定义接口,通过关键字implements来声明接口; 接口具有公共性(public)、静态性(static)和最终性(final)。所以修饰符只能是public,里面只能定义常量 实现多接口的类必须符合3个原则:能为所有的接口提供实现的功能, 能遵循重写的所有规则, 能保持相同的返回的数据类型。 接口的”继承”与类之间的继承不同,”继承”该接口的类,需要”自力更生”,去实现接口中的抽象方法,因此接口也相当于一个特殊的抽象类。 接口相当于程序开发的一组协议,需要此功能的类均可”继承”该方法和集合。 接口中的属性都是静态常量,方法都是抽象方法(即没有给出方法具体定义),一个类实现接口后,将继承接口中的所有静态常量。 实现接口中的抽象方法时,方法头必须与接口定义中的方法头完全相同(包括访问控制修饰符、返回值类型、参数列表等)(例外:可去掉关键abstract、接口定义时public可缺省,但是实现时不可缺) l 【范例】 定义接口格式: [public]interface 接口名称 [extends父接口名列表] { //静态常量 [public] [static] [final] 数据类型变量名=常量值; //抽象方法 [public] [abstract] [native] 返回值类型方法名(参数列表); } 实现接口格式: [修饰符] class 类名[extends 父类名] [implements 接口A,接口B,···] { 类成员变量和成员方法; 为接口A中的所有方法编写方法体,实现接口A; 为接口B中的所有方法编写方法体,实现接口B; } 实例: 本例定义接口AreaInterface,其中有静态常量pai和求面积的抽象方法area()。类Circle和类Rectangle实现了AreaInterface接口,即为接口中的抽象方法area()编写了满足各自要求的方法体,分别求圆形和长方形的面积。 程序:AreaInterface.java package jiekou; public interface AreaInterface { doublepai=Math.PI; double area(); } 程序:Circle.java package jiekou; public class Circle implements AreaInterface { doubler; public Circle(double x) {r=x;} public double area()//实现接口中的抽象方法,求圆面积 { returnpai*r*r; } public String toString(){ return"圆:r="+r+"\\tarea="+area(); } } 程序:Rectangle.java package jiekou; public class Rectangle implements AreaInterface { doublex,y; public Rectangle(double a,double b){ x=a; y=b; } publicdouble area()//实现接口中的抽象方法,求长方形面积 { returnx*y; } public String toString() { return"长方形:x="+x+";y="+y+"\\tarea="+area(); } } 程序:TestInterface.java package jiekou; publicclass TestInterface { public static void main(String[] args){ Rectangle R1=new Rectangle(10.0,20.0); Circle C1=new Circle(10.0); System.out.println(R1.toString()); System.out.println(C1.toString()); } } |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。