接口

来源:互联网 发布:mac怎么显示桌面 编辑:程序博客网 时间:2024/05/11 22:37

1.接口就是一组抽象成员的命名集合。

2.接口与抽象类

虽然类定义了一组抽象成员,它完全可以在定义许多构造函数、字段数据、非抽象成员、等。但是接口,只能包含抽象成员

3.接口成员不指定访问修饰符(所有的接口成员都是公共的和抽象的)。并且支持属性协议,这里和类中的属性比较如下。语法上支持自动属性的格式且支持仅只读或这只写的语法。如:int p{get;} //这个在普通类中是不允许自动属性只用一个的。下图,接口中属性不产生对应的私有字段



4.实现接口

必须全部实现接口中的成员。

5.显示接口实现

如果要实现具有相同成员的接口,可以使用显示接口实现语法来解决这种命名冲突。

 public interface ITest1
    {
        void Func1();
    }
    public interface ITest2
    {
        void Func1();
    }
    public class MyClass : ITest1, ITest2
    {


        void ITest1.Func1()  //显示实现接口成员,使用这个语法不允许指定访问修饰符,显示实现的成员自动私有的。
        {
            throw new NotImplementedException();
        }


        void ITest2.Func1()
        {
            throw new NotImplementedException();
        }
    }

调用:

private void TestFun()
        {
            MyClass myCls = new MyClass();
            ((ITest1)myCls).Func1();            //必须通过显示的转换来访问对应的方法。

    ((ITest2)myCls).Func1();    
        }

6.如果接口扩展了既有的接口,那么他就继承了父类接口定义的抽象成员。

0 0
原创粉丝点击