• C# abstract,virtual 修饰符


    abstract(抽象):该abstract修饰符指示要修改的东西有缺失或不完整的实现。abstract修饰符可以与类,方法,属性,索引器和事件一起使用。abstract在类声明中使用修饰符来指示类仅用于其他类的基类。标记为抽象或包含在抽象类中的成员必须由派生自抽象类的类实现。

    https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/abstract

    virtual(虚拟):virtual关键字用于修改方法,属性,索引器或事件声明,并允许在派生类中重写它。例如,任何继承它的类都可以覆盖此方法。

    https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/virtual

    abstract方法必须在abstract 类中,父类不需要写完成方法,只用定义方法名,字段名,等等,子类必须重写。virtual方法可以写完成过程,子类可重写,也可不从写。

      public abstract class BaseTest
        {
            public virtual string Name { get; set; }
            public virtual int Age { get; set; }
    
            public virtual string GetName()
            {
                return "sealee";
            }
            public virtual int GetAge()
            {
                return 15;
            }
            public abstract string YourName { get; }
            public abstract int YourAge { get; }
            public abstract string GetYourName();
            public abstract int GetYourAge();
        }
    
        public class Test : BaseTest
        {
            public override string YourName => "myName";
            public override int YourAge => 9;
    
            public override int GetYourAge()
            {
                return 15;
            }
    
            public override string GetYourName()
            {
                return "xixi";
            }
    
            public override string Name { get => "不不不"; set => base.Name = value; }
    
            public override string GetName()
            {
                return "是是是";
            }
        }
  • 相关阅读:
    string类
    拓扑排序 图
    麦森数,高精度快速幂
    排列
    牛客练习赛28 B 数据结构
    牛客练习赛27 C-水图
    组合数
    树状数组
    k短路模板+例题
    Supreme Number(找规律,打表)
  • 原文地址:https://www.cnblogs.com/Sea1ee/p/10330568.html
Copyright © 2020-2023  润新知