第7章多态性
本章目标
●理解多态性是如何实现系统的可扩展和可维护的
●理解抽象类和具体类之间的差异
●学会如何创建及使用接口和委托
●理解事件与委托的关系及如何使用事件
●使用运算符重载
抽象方法与抽象类
抽象方法
抽象类
抽象方法
基类的虚拟方法有时候不可能被调用到,这时候可定义该虚拟方法为抽象方法,抽象方法没有方法体,但非声明不可,它告诉编译器,派生类必须通过重写该方法以提供它们自己的实现。
当实例方法声明包含 abstract 修饰符时,称该方法为抽象方法。虽然抽象方法同时隐含为虚拟方法,但是它不能有 virtual 修饰符。
在类声明中使用 abstract 修饰符以指示类只能是其他类的基类,我们称它为抽象类。含有一个或一个以上的抽象成员的类,必须定义为抽象类。但必须注意抽象类可以不包含抽象成员。
返回
抽象类
在类声明中使用 abstract 修饰符以指示类只能是其他类的基类,我们称它为抽象类。含有一个或一个以上的抽象成员的类,必须定义为抽象类。但必须注意抽象类可以不包含抽象成员。
返回
接口
一个接口定义一个协定,实现接口的类或结构必须遵守其协定。接口可以从多个基接口继承,而类或结构可以实现多个接口。接口声明可以声明零个或多个成员,接口的成员必须是方法、属性、事件或索引器。接口不能包含常数、字段、运算符、实例构造函数、析构函数或类型,也不能包含任何种类的静态成员。接口本身不提供它所定义的成员的实现,接口只指定实现该接口的类或接口必须提供的成员。
所有接口成员都隐式地具有 public 访问权限。接口成员声明包含任何修饰符属于编译时错误。具体地说,接口成员包含下列任何修饰符都属于编译时错误:abstract、public、protected、internal、private、virtual、override 或 static。
委托
使用委托
组合委托
多数情况下,调用方法时,我们指定要直接调用该方
第七章 多态性 来自淘豆网www.taodocs.com转载请标明出处.