接口的规范:
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("");
} 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; }
}}