C#中接口和方法的运用(Fourteenth Day)
由于周五我有一些事情没来得及总结当天的知识,所以在今天总结一下周五在云和学院所学到的有关接口和方法的知识。
理论:
接口:
•接口的定义:interface关键字,接口中可以有属性、方法(未实现)
•接口的名称通常以“I”开头,如IList
•如果一个类即继承了类又实现了接口,那么类必须写在前面。一个类只能继承一个父类,但可以实现多个接口。
•class Student : Person , IComparable(这是已经定义好的接口)
•完全抽象的一种约定
•接口就是用来实现的
•语法:
[访问修饰符] interface 接口名
{
// 接口成员定义
}
Interface IfFly
{
void IFly();
}
•接口只有方法、属性、索引和事件的声明,所有成员默认为public
C#中的接口和类有什么异同
不同点:
•不能直接实例化接口。
•接口不包含方法的实现。
•接口可以多继承,类只能单继承。
•类定义可在不同的源文件之间进行拆分。
•相同点:
•接口、类和结构都可以从多个接口继承。
•接口类似于抽象基类:继承接口的任何非抽象类型都必须实现接口的所有成员。
•接口和类都可以包含事件、索引器、方法和属性。
•类之间不支持,接口之间支持。类对接口叫做实现,不叫继承。 类是父亲、接口是能力,能有多个能力,但不能有多个父亲。
类与成员的修饰符
•类
–public、internal、abstract、sealed、static
•成员(方法)
–public、private、protected、internal
–protected internal
–abstract、virtual、new、override
–static
静态方法和实例方法(定义和调用)
实操:
橡皮rubber鸭子、木wood鸭子、真实(real)的鸭子duck。三个鸭子都会游泳,而橡皮鸭子和真实的鸭子都会叫,只是叫声不一样,橡皮鸭子“唧唧”叫,真实地鸭子“嘎嘎”叫,木鸭子不会叫.接口实现.
首先定义一个父类,Duck,
定义接口和三个子类,分别是:rubber,wood,real。
在Main函数里使用
方法的运用:
动物animal 都有吃eat和叫bark的方法,狗dog和猫cat叫的方法不一样.父类中没有默认的实现所哟考虑用抽象方法。
根据题意,定义父类,和两个子类
定义子类
在Main函数里使用
好了,今天就总结到这里了,明天就又开始新的一周了, 加油!