前言
- 重写: 子类通过修改继承自基类的函数成员而实现的一次版本更新(版本更新–是为了方便理解而这样叫的);
- 重写是针对函数成员而言的;
- 子类成员用Virtual修饰;父类成员用Override修饰(若无Override,则该引用会被隐藏,即执行父类成员方法或属性);
- 多态: 父类成员对子类成员的实例化(即,父类型变量指向子类型对象、父类型中的函数成员被子类重写了)
- 当父类型引用调用函数成员时,调用的时子类中重写了的函数成员;
- 密封类: 不能被继承的类叫做密封类,采用关键字sealed修饰;
- 密封类中不能包含虚方法(virtual)和抽象方法(abstract),抽象方法和虚方法的存在就是要用来继承的;
- .NET类库大量使用密封类,使希望从这些类从这些类中派生出自己的类的第三方开发人员无法访问这些类,例如string就是密封类;
- 密封方法: 用修饰符sealed进行标记,重写基类的虚方法(Visual);
- 声明密封方法时,sealed修饰符总是和override修饰符同时使用。
一、重写与多态
- 定义: 子类通过修改继承自基类的函数成员而实现的一次版本更新(重写);父类成员对子类成员的实例化(多态)
- 实现:
using System;
namespace Csharp
{
class Program
{
static void main(string[] args)
{