A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘逍遥 中级黑马   /  2012-6-23 09:51  /  1629 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

接口编程在程序中的使用技巧

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

3 个回复

倒序浏览
接口就是多态啊,在接口中只是定义一个原型而没有具体的实现,这样具体的就可以在继承的类中实现不同功能;
举个IDataAccess接口例子:
public interface IDataAccess
{
    virtual void AddData();
}

public SQlMethord:IDataAccess
{
    SQlMethord()
    {

    }
    void AddData()
    {
        System.Windows.Form.MessageBos.Show("SQLMethord");
    }
}

public AccessMethord:IDataAccess
{
    AccessMethord()
    {

    }
    void AddData()
    {
        System.Windows.Form.MessageBos.Show("AccessMethord");
    }
}
//还可以扩展其它数据库......
//使用时候如下
string strClassName="SQLMethord";//这里可以动态指定类,并调用对应的方法
IDataAccess ida = (IDataAccess)System.Activator.CreateInstance(Type.GetType(strClassName),false)
ida.AddData();

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
接口的特性:
  1、接口类似于抽象基类,不能直接实例化接口;接口中的方法都是抽象方法,实现接口的任何非抽象类型都必须实现接口的所有成员:
     当显式实现该接口的成员时,实现的成员不能通过类实例访问,只能通过接口实例访问。
     当隐式实现该接口的成员时,实现的成员可以通过类实例访问,也可以通过接口实例访问,但是实现的成员必须是公有的。
  2、接口不能包含常量、字段、运算符、实例构造函数、析构函数或类型、不能包含静态成员。
  3、接口成员是自动公开的,且不能包含任何访问修饰符。
  4、接口自身可从多个接口继承,类和结构可继承多个接口,但接口不能继承类。

  对了,不能指定接口中方法的修饰符,接口中的方法用来定义对象之间通信的契约,指定接口中的方法为私有或保护没有意义。它们默认为公有方法。


接口的继承:
  接口继承和类继承不同:首先,类继承不仅是说明继承,而且也是实现继承;而接口继承只是说明继承。也就是说,派生类可以继承基类的方法实现,而派生的接口只继承了父接口的成员方法说明,而没有继承父接口的实现,其次,C#中类继承只允许单继承,但是接口继承允许多继承,一个子接口可以有多个父接口。
  接口可以从零或多个接口中继承。从多个接口中继承时,用":"后跟被继承的接口名字,多个接口名之间用","分割。
  被继承的接口应该是可以访问得到的,比如从private 类型或internal 类型的接口中继承就是不允许的。
  接口不允许直接或间接地从自身继承。和类的继承相似,接口的继承也形成接口之间的层次结构。

我不是高手,就浅到这里吧。

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

回复 使用道具 举报
接口编程就是有专门的人员设计出了这个东西具体的功能,然后让你去想办法去实现它,就好像电脑上的usb接口,有人说好,这个usb接口给你上面可以接鼠标,接u盘,接........你给我去专心研究鼠标,让它接到这个usb接口上

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马