继承的基本概念
继承中的构造方法
密封类
多态
重载
(见第四章第四节)
- 同一类中
- 方法名相同
- 参数不同
重写
- 子类中
- 对父类的方法进行修改或者重新编写
- 父类的对象可以指向子类的实例,并且调用子类重写
重写的步骤
- 在父类中把某个方法定义为虚方法,使用virtual关键字
class People
{
public virtual void Speak()
{
Console.WriteLine("大家好!我是一个人!");
}
}
- 在子类中使用override关键字重写父类的虚方法
class Student:People//继承
{
public override void Speak()
{
Console.WriteLine("大家好,我是一名学生,我叫{0},性别{1},年龄{2}",name,sex,age);
}
}
总结
继承
- 子类可以继承父类的非私有成员。
- 不能继承父类的构造方法,子类构造方法会自动调用父类构造方法,并且父类构造方法先执行,再执行子类构造方法。使用
base关键字显示调用父类构造方法。base关键字还可以访问父类成员。 - protectedi访问修饰符修饰的成员可以被子类和本身访问,其他类访问不了。
密封类
- sealed关键字修饰的类,表示不能被其他类继承。
多态
- 是指二个或多个不同的类,对同一方法的不同代码实现。
- virtual、override关键字,子类重写父类的虚方法。
- 父类对象可以引用子类实例,并且调用子类重写的方法。
评论 (0)