[public]  interface I…able
{
成员;
}
接口与接口直接可以继承,并且可以多继承。
接口不能继承一个类,类可以继承接口。
实现接口的子类,必须实现该接口的全部成员。
using System;namespace _092_多态之接口{class Program{static void Main(string[] args){//接口就是一个规范(都能用,广泛普遍性),能力Student s = new Student();s.Live();s.KouLan();s.Fly();Console.ReadKey();}}}using System;using System.Collections.Generic;using System.Text;namespace _092_多态之接口{class Person{public void Live(){Console.WriteLine("我是人,我可以吃喝拉撒睡");}}}using System;using System.Collections.Generic;using System.Text;namespace _092_多态之接口{class Student : Person, IKouLanable,IFlyable{public string Name { get => throw new NotImplementedException(); set => throw new NotImplementedException(); }public void Fly(){Console.WriteLine("我tm会飞");}public void KouLan(){Console.WriteLine("我也可以扣篮");}public string Test(){throw new NotImplementedException();}}}using System;using System.Collections.Generic;using System.Text;namespace _092_多态之接口{interface IKouLanable{void KouLan();}}using System;using System.Collections.Generic;using System.Text;namespace _092_多态之接口{interface IFlyable //接口可以有 属性、方法、索引器(本质全是方法){//接口中的成员不允许添加访问修饰符,默认就是publicvoid Fly();string Test();public static void TestTwo(){Console.WriteLine("我是接口中的方法体");}//string _name;//接口中不能包含实例字段string Name{get;set;}}}
接口练习
using System;namespace _094_接口练习{class Program{static void Main(string[] args){//真的鸭子嘎嘎叫,橡皮鸭子唧唧叫,木头鸭子吱吱叫;真鸭子会游泳,橡皮鸭子靠发动机游泳,木头鸭子不会RealDuck rd = new WoodenDuck(); //木鸭子不会游泳,但是继承了父类 //new RealDuck();rd.Bark();rd.Swim();Swimming s = new RubberDuck();s.Swim();Console.ReadKey();}}}using System;using System.Collections.Generic;using System.Text;namespace _094_接口练习{class RealDuck:Swimming{public virtual void Bark(){Console.WriteLine("真的鸭子嘎嘎叫");}public void Swim(){Console.WriteLine("真鸭子会游泳");}}}using System;using System.Collections.Generic;using System.Text;namespace _094_接口练习{class RubberDuck:RealDuck,Swimming{public override void Bark(){Console.WriteLine("橡皮鸭子唧唧叫");}public void Swim(){Console.WriteLine("橡皮鸭子靠着发动机游泳");}}}using System;using System.Collections.Generic;using System.Text;namespace _094_接口练习{class WoodenDuck:RealDuck{public override void Bark(){Console.WriteLine("木头鸭子吱吱叫");}}}using System;using System.Collections.Generic;using System.Text;namespace _094_接口练习{interface Swimming{void Swim();}}
