接口

1.接口的作用和特点

c#没有多继承,所以用接口用来替代多继承

不能继承同一个父类的基类可以继承于同一个接口

结构体也可以实现接口

使用interface关键字,定义接口

interface USB {

     void Read(string[] datas);   //后面有分号

}


2.接口的属性

实现接口的任何类或结构必须实现其所有成员的方法

接口不能直接实例化,但是可以通过指向子类简介实例化

接口可以包含方法和属性的声明,但不能包含字段

接口中所有的方法和属性默认为public,不能在后面添加修饰符

类或机构体可以实现多个接口。类可以继承基类并实现一个或多个接口

interface USB{

     void Read();   //后面有分号

}

class Keyboard:USB

public void Read(){

     console.wl("Keyboard's ReadMethod"); 

}


3.接口和抽象类的异同

接口和抽象类很类似。它定义了一些未实现的属性和方法。所有继承它的类都继承这些成员,在这个角度上,可以把接口理解为一个类的模板。接口的最终目的是起到统一的作用

两者都包含可以由子类继承的抽象成员

两者都不能直接实例化

抽象类除了拥有抽象成员外,还可以拥有非抽象成员,而接口所有的成员都是抽象的

抽象成员可以是私有的,而接口的成员默认是公有的

接口中不能含有构造函数,析构函数,静态成员和常量

C#只支持单继承,即子类只继承一个父类,而一个子类却可以实现多个接口

你可能感兴趣的:(接口)