C#界面基本教程2
从技术上讲,接口是一组包含函数方法的数据结构,通过这组数据结构,客户代码可以调用对象的函数。
接口定义的一般形式是:
{修饰符}接口标识符{基本列表} {接口体};}
描述:
1,属性(可选):附加定义信息。
2,修饰符(可选):要使用的修饰符有新的和四个访问修饰符。它们是:新的、公共的、受保护的、内部的、私有的。在接口定义中,同样的修饰符不允许多次出现。新的修饰符只能出现在嵌套的接口中,这意味着继承的成员将包含相同的名称。
3、指示器和事件。
4,标识符:接口的名称。
5,基本列表(可选):包含一个或多个显式基接口的列表,由逗号分隔。
6,接口体:接口成员的定义。
7,一个接口可以是命名空间或类的成员,并且可以包含下列成员的签名:方法,属性,索引器。
8,接口可以从一个或多个基本接口继承。
界面的概念在C和java #很相似。为接口的关键字是接口,一个接口可以扩展一个或多个其他接口。按照惯例,接口的名字开头大写的我,下面的代码是C #接口的一个示例,这正好是在java的接口:
接口ishape {
空白绘图();
}
如果从两个或两个以上接口派生,则父接口的名称列表用逗号分隔,如下面的代码所示:
接口inewinterface:iparent1,iparent2 { }
然而,不像java,C #接口不包含域(字段),注意的是,在C #重要,在接口的所有方法都是默认的常用方法,java,方法定义可以有public修饰符(即使是不必要的),但在C #,它是指定的公共性明确的接口方法是非法的。例如,下面的C #界面将产生一个编译错误。
接口ishape { public void画();}
下面的示例定义了一个接口,称为控制,其中包含一个成员方法,涂料:
接口控制{
虚空漆();
}
在下面的例子中,从两个基接口接口接口ibase1和ibase2继承:
接口接口:ibase1,ibase2 {
无效的方法();
无效的方法();
}
接口可以由类实现,实现接口的标识符出现在类的基表中:
第一类:iface1,iface2 {
类成员。
}
当基类和接口包含在基本列表中时,列表中的第一个类是基类:
班班:BaseClass,iface1,iface2 {
类成员。
}
下面的代码段定义了接口IFACE,它只有一个方法:
接口IFACE {
Void ShowMyFace();
}
你不能实例化一个对象从这个定义,但是你可以从它派生出一个类,这个类必须实现showmyface抽象方法:
类面的:IFace
{
ShowMyFace(){ public void
console.writeline(实现);
}
}
底座接口
一个接口可以从零个或多个接口继承,称为接口的接口。当接口比显式的基接口超过0时,在接口的定义中,接口标识符后面是冒号 和逗号。
接口库:
接口类型列表:
1。接口的显式基接口必须至少与接口本身一样可访问。例如,在公共接口的基本接口中指定私有或内部接口是错误的。
2,接口直接或间接地从其自身继承是错误的。
三.接口的基本接口都是显式的基本接口和它们的基本接口,换句话说,基本接口的集合完全由显式的基本接口和显式的基本接口等组成。
接口控制{
虚空漆();
}
接口itextbox:IControl {
无效的setText(文本);
}
接口ilistbox:IControl {
无效setItems(字符串{ }项目);
}
接口icombobox:itextbox,ilistbox { }
底座接口icombobox是控制,itextbox,和ilistbox。
4、一个接口继承其基接口的所有成员。换句话说,上层界面icombobox继承成员setText和setItems如漆。
5,实现接口的类或结构也隐式地实现了所有接口的基本接口。
接口体
接口的接口体定义接口的成员。
接口体:
{接口成员declarationsopt }
定义接口主要是定义接口成员,并查看下一节——定义接口成员。