C#方法重写

简介: C#方法重写

什么是重写?

“重写”父类方法就是修改它的实现方式或者说在子类中对它进行重新编写。


为什么要重写父类的方法?

通常,子类继承父类的方法,在调用对象继承方法的时候,调用和执行的是父类的实现。但是,有时候需要对子类中的继承方法有不同的实现方式。例如,假设动物存在“跑”的方法,从中继承有狗类和马类两个子类。


怎么重写?

   1.重写父类的方法要用到override关键字(具有override关键字修饰的方法是对父类中同名方法的新实现)


   2.要重写父类的方法,前提是父类中该要被重写的方法必须声明为virtual或者是abstract类型。给父类中

    要被重写的方法添加virtual关键字表示可以在子类中重写它的实现。(注意:C#中的方法默认并不是

    virtual类型的,因此要添加virtual关键字才能够被重写)


   3.virtual关键字用于将方法定义为支持多态,有virtual关键字修饰的方法称为“虚拟方法”。


目录
相关文章
|
6月前
|
SQL 数据库
父类坑
父类坑
27 0
|
6月前
super关键字
super关键字用来访问父类内容,而this关键字用来访问本类内容。用法也有三种 1.在本类的成员方法中,访问本类的成员变量。 2.在本类的成员方法中,访问本类的另一个成员方法。 3.在本类的构造方法中,访问本类的另一个构造方法。 在第三种用法当中要注意: A.this(...)调用也必须是构造方法的第一个语句,唯一一个。 B.super和this两种构造调用,不能同时使用。
24 0
|
6月前
|
编译器
【多态-动态绑定-向上转型-抽象类】
【多态-动态绑定-向上转型-抽象类】
27 0
|
8月前
|
C#
C#中抽象方法与虚方法的区别
C#中抽象方法与虚方法的区别
|
11月前
|
编译器
Super关键字详解
Super关键字详解
51 0
|
11月前
|
编译器 定位技术
在父类的构造函数中调用虚函数为什么不能实现多态
在父类的构造函数中调用虚函数为什么不能实现多态
76 0
|
Java 编译器 Scala
方法重写|学习笔记
快速学习方法重写。
62 0
方法重写|学习笔记
子类到底能不能继承父类的私有属性?
继承就像是我们现实生活中的父子关系,儿子可以遗传父亲的一些特性,在面向对象语言中,就是一个类可以继承另一个类的一些特性,从而可以代码重用,其实继承体现的是is-a关系,父类同子类在本质上还是一类实体;子类通过继承父类的属性的行为,我们称之为继承。Java只支持单继承,不支持多继承。因为多继承容易带来安全隐患:当多个父类定义相同的功能,当功能内容不同的时候,子类对象不确定要运行哪一个,在Java中用另一种形式体现出来,就是接口的多实现。
|
编译器
方法重写 多态
方法重写 多态