• C#中的virtual和override的用法(转载百度)



    如下代码:
    public class Ellipse : Shape
    {
    protected int semiMajorAxis/*长半轴*/, semiMinorAxis/*短半轴*/;

    public virtual int SemiMajorAxis
    {
    get
    {
    return semiMajorAxis;
    }
    set
    {
    semiMajorAxis = value;
    }
    }

    public virtual int SemiMinorAxis
    {
    get
    {
    return semiMinorAxis;
    }
    set
    {
    semiMinorAxis = value;
    }
    }

    public override double Area //椭圆面积公式:S = pi*a*b
    {
    get
    {
    return Math.PI * iMajorAxis * SemiMinorAxis;
    }
    }

    这里面有virtual和override,是什么意思?

    回答:
    overrride表示重写 这个类是继承于Shape类
    public override double Area 这个属性再shape中肯定存在 但是这里我们不想用shape中的 所以要重写
    virtual是告诉其它想继承于他的类 你可以重写我的这个方法或属性,否则不允许。
    给你一个生动的例子 老爸表示基类(被继承的类) 儿子表示子类(继承的类)

    老爸用virtual告诉儿子:"孩子,你要继承我的事业,在这块上面可以自己继续发展你自己的"

    儿子用override告诉全世界:"这个我可不是直接拿我爸的,他只是指个路给我,是我自己奋斗出来的"

  • 相关阅读:
    SQL SERVER导入Excel csv
    微信付款码扫码枪支付
    idftp
    不正常地定义参数对象。提供了不一致或不完整的信息
    sql 日志文件截断收缩
    sql server 新语法 收藏
    SQL SERVER 2019新功能
    SQL SERVER 死锁
    rad 10.2
    TXMLDocument 创建空值节点不要缩写
  • 原文地址:https://www.cnblogs.com/xiaobaigang/p/830410.html
Copyright © 2020-2023  润新知