接口的定义

转载 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接口中的方法定义规则最近在做某个公司校招的笔试的时候,遇到了如下一个题:题目如下:(多选题)请选择以下接口定义正确的方法()A:public static void main (String[...

笔记本SATA接口定义

  • 2016-09-13 21:52
  • 100KB
  • 下载

【转】SPI、UART、I2C接口的定义

SPI、UART、I2C接口的定义SPI:高速同步串行口。3~4线接口,收发独立、可同步进行 UART:通用异步串行口。按照标准波特率完成双向通讯,速度慢 SPI:一种串行传输方式,三线制,网上可找到...

9针RS232-422-485接口定义

  • 2013-09-27 09:04
  • 70KB
  • 下载

RS232定义接口

  • 2014-01-13 17:48
  • 638KB
  • 下载

Android的接口定义语言(aidl)

AIDL与其他的接口定义语言很相似。它允许你定义程序接口,用它来在进程间进行交流。在Android系统中,进程之间是相互独立的。它们需要将它们的对象解释成操作系统理解的基本体。这个处理过程是复杂的,所...

USB接口定义

  • 2014-01-06 08:58
  • 1.28MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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