接口的规范:
1.接口是一种规范。只要一个类继承了一个接口,这个类就必须实现这个接口中所有的成员。
2.为了多态,接口不能被实例化,接口不new(不能创建对象)
3.接口中的成员不能加“访问修饰符”,接口中的成员访问修饰符为public,不能修改。
4.(默认为public)接口中的成员不能有任何实现(只是定义了一组未实现的成员)。
5.接口中只能有方法,属性,索引器,事件,不能有字段和构造函数。
6.接口与接口之间可以继承,并且可以多继承。
7.接口并不能去继承一个类,而类可以继承接口(接口只能继承于接口,而类既可以继承于接口,也可以继承于类).
8.继承接口的子类必须实现该接口的全部成员。
9.一个类可以同时继承一个类并实现多个接口,如果一个子类同时继承了父类A,并实现了接口IA,那么语法上A必须写在IA的前面。
10.显示实现接口的目的:解决方法的重名问题
当继承的接口中的方法和参数一模一样的时间,用显示的实现接口.
11.当一个抽象类实现接口的时候,需要子类去实现接口。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 接口 { class Program { static void Main(string[] args) { //接口就是一个规范,能力 //语法:[public] interface I..able{ ...成员 } /* 1.接口中的成员不允许添加访问修饰符,默认是public 2.接口成员不能有定义,不允许具有方法体的函数 3.接口不能包含字段 4.自动属性 * */ } } public class Person { public void Chlss() { Console.WriteLine("Chlss"); } } public class NbaPlayer:Ikoulanable { //显示实现接口 void Ikoulanable.koulan() { Console.WriteLine("111"); } public void koulan() { Console.WriteLine("koulan"); } } public class Student:Person,Ikoulanable { public void koulan() { Console.WriteLine("koulan_2"); } } public interface Ikoulanable { void koulan(); } public interface IFlyable { //接口中的成员不允许添加访问修饰符,默认是public //接口成员不能有定义,不允许具有方法体的函数 //接口不能包含字段 void Fly(); string Fly2(); //自动属性 string Name { get; set; } } }