本节内容:
1:接口继承注意
2:开发封闭原则:
3:实例解释接口的作用
1:接口继承注意
接口的继承: 1:类继承具有单根性,接口可多重继承; 2:接口继承多个接口的时候,派生接口名与父接口用冒号隔开,多个父接口之间用逗号隔开。 3:派生接口想要重写继承接口的方法或者属性行,要用关键字new ;
2:开发封闭原则:
开发封闭原则: 定义:软件实体应该可以进行扩展,但是不可以修改 特性: 1:对扩展是开放的 2:对修改是封闭的,开放即可以操作,关闭即不可以操作
3:实例接口继承
类的实现
###########老鹰类################ class Eagle : Bird, IFlyable { public void fly() { Console.WriteLine("我是老鹰我可以飞"); } public override void eat() { Console.WriteLine("我是老鹰我吃小鸡"); } } ############鸵鸟类############### class Ostrich:Bird { public override void eat() { Console.WriteLine("我是鸵鸟我吃青草"); } } #############麻雀类############### class Sparrow : Bird, IFlyable { public void fly() { Console.WriteLine("我是麻雀我可以飞"); } public override void eat() { Console.WriteLine("我是麻雀我吃粮食"); } } ############鸟类################## abstract class Bird { public abstract void eat(); } ##########主类##################### class Program { static void Main(string[] args) { Bird[] obj = {new Eagle(),new Sparrow(),new Ostrich()}; foreach (Bird item in obj){item.eat();} IFlyable[] obj2 = {new Eagle(),new Sparrow()}; foreach (IFlyable item in obj2) { item.fly(); } Console.ReadKey(); } }
接口IFlyable:
interface IFlyable { //定义接口函数 //注意函数不能有结构体;不能有修饰符 void fly(); }
输出: