重写,从字面上的意思来说就是重新写一遍,但问题来了C#里面为什么要重写呢?在什么情况下需要进行重写呢?
我想了很久。。。。。也请教了很多人,都没能把这事想明白,但经过一位大佬解释总算是明白了重写的概念了,下面就来详细说明下,也希望能帮助到更多初学同行。
先来解释下C#里面为什么有重写这个概念,重写在C#里面是为了重新定义一个类里面的事件或属性,但新类(子类)必须继承原有类(父类),这样就能做类的扩展。
再来回答下,什么情况下需要重写的问题,如同上一个问题所讲,当一个类需要做扩展的时候就需要用到重写,举个例子,有个类叫Car(车),它由colour(颜色)、size(大小)、use(用途)等属性,现在需要对这个类进行细化扩展出SuvCar(SUV车),他同样是车的一种,也就是说是Car(车)这个类的细分,自然也会有Car这个类的所有属性,当然我们可以给他新增个power(动力)这个属性。
代码展示环节
class Car//车
{
public virtual int Colour { get; set; }//颜色
public virtual int Size { get; set; }//大小
public virtual string Use { get; set; }//用途
}
class SuvCar : Car//SuvCar继承Car类
{
public override int Colour { get => base.Colour; set => base.Colour = value; }//重写颜色
public override int Size { get => base.Size; set => base.Size = value; }//重写大小
public override string Use { get => base.Use; set => base.Use = value; }//重写用途
public int Power { get; set; }//新属性动力
}
到此重写基本解释完成。