接口的定义

转载 2007年09月25日 09:10:00

    
 
组件编程技术
 
组件
把庞大的应用程序分割成多个模块,每个模块完成独立的功能,模块之间协同工作,这样的模块叫组件.
 
接口
接口描述了组件对外提供的服务.在组件和组件,组件和客户之间都是通过接口进行交互,组件接口一旦发布,就尽量不要再修改接口,任何对接口修改的改变都有可能造成组件与客户的联系遭到破坏.
 
 
                            接口定义
 
从技术上讲,接口是一组包含了函数型方法的数据结构.通过这组数据结构,可以代码可以调用组件对象的功能.
 
接口的定义可以使用以下修饰符
New ,public,private,protected,internal
在接口定义时同一修饰符不能出现多次,new 修饰符只出现在嵌套接口中,表示覆盖了继承而来的成员名.
 
在接口的声明中可以定义接口的成员,接口成员可以是,方法,属性,索引指示器,事件.
     interface IControl
     {
         void Pain();
     }
声明了一个接口IControl,定义了一个成员方法Pain
 
接口的继承
 
接口具有不变性,但不意味着接口不再发展,类似于类的继承性,接口也可以继承和发展
值得注意的是,接口的继承和类的继承不一样.
1,类的继承不仅是说明继承,而且是实现继承,而接口继承只是说明继承,也就是说,派生类可以继承基类的方法实现,而派生类的接口只继承了父接口的成员方法说明,而没有继承父接口的实现
2,C#只允许类单继承,但接口允许多继承,一个子接口可以有多个父接口
 
被继承的接口必须是可以访问的到的,接口不允许直接或间接的从自身继承 
interface IControl
    {
        
void Pain();
    }
    
interface TextBox:IControl
    {
        
void SetText(string text);
    }
    
interface IComboBox:IControl,TextBox
    {}
 
接口IComboBox同时从IControl,TextBox中继承,多继承用逗号分割
 
接口成员
 
接口可以定义一个或多个成员,这些成员可以是方法,属性,索引指示器,事件,但不能是常量,域,操作符,构造函数,析构函数,而且不能包含任何静态成员
接口成员的默认访问方式是public,接口成员声明不能包含任何修饰符,接口可以声明与继承而来的成员名字相同的成员,这样就直接覆盖了继承的成员,如果在声明时不加NEW则编译器会报错
 
对接口成员的访问
 
接口成员访问与类的访问一致,但由于支持多继承,会发生出现两个同名的父继承成员,产生二义性,这是需要显示的进行声明.
 
 
interface ISequence
     {
         int Count
         {
              get;set;
         }
     }
     interface IRing
     {
         void Count(int i);
     }
     interface IRingSequence:ISequence,IRing{}
     class c
     {
         void test(IRingSequence rs)
         {   
              ((IRing)rs).Count(1);
              ((ISequence)rs).Count=1;
         }
     }
 
 
类C的方法test要访问接口IRingSequence的成员,必须先声明一个此接口的变量,然后显示指定具体继承的父属性的成员.
 
使用接口全名进行访问
直接用接口名.成员名进行访问,如果在命名空间内还需要包含命名空间名,例如
IControl.count;
Namespace.IControl.count
全名中的成员必须是在接口中声明过的,不能用继承而来的

 

Java中接口里定义的成员变量

原文:Java中接口里定义的成员变量 在interface里面的变量都是public static final 的。所以你可以这样写: public static final in...

9针RS232-422-485接口定义

  • 2013年09月27日 09:04
  • 70KB
  • 下载

ueditor 添加自定义上传接口

1.从http://ueditor.baidu.com/website/ 下载jsp版本 2.将下载的压缩文件解压,命名为ueditor,复制整个文件夹到项目中 3.在页面上新建一个textare...

RS232定义接口

  • 2014年01月13日 17:48
  • 639KB
  • 下载

Android笔记三:Android 接口定义语言 (AIDL)--Binder工作原理分析

Android 接口定义语言 (AIDL)–Binder工作原理分析源码如下/* * This file is auto-generated. DO NOT MODIFY. * Original...

USB接口定义

  • 2014年01月06日 08:58
  • 1.28MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:接口的定义
举报原因:
原因补充:

(最多只允许输入30个字)