美文网首页
45.C# 抽像类与方法

45.C# 抽像类与方法

作者: 技术老小子 | 来源:发表于2024-03-14 05:48 被阅读0次

    摘要


    抽象类往往用来表征对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象

    正文


    抽象类一般用于表达比较抽象的事物,如物料,它并不是具体的某一个存在的东西,而是一堆东西的代称,我们主要可以在其中定义一些共用的属性或方法,这时方法可以抽像的,也可是虚的。

    简单来说

    • 抽象类必须被继承
    • 抽象类不能够被密封
    • 抽象类不能被实例化

    创建一个抽像类Material

    public abstract class Material
    {
        public string Name { get; set; }
        public string Description { get; set; }
        public int Qty { get;set; }
        public abstract void Print();
    }
    
    

    创建一个Tool

    internal class Tool : Material
    {
        public override void Print()
        {
            Console.WriteLine($"{Name}-{Description}-{Qty}");
        }
    }
    
    

    调用

    Tool tool = new Tool();
    tool.Name = "螺丝刀";
    tool.Qty = 100;
    tool.Print();
    
    
    image.png

    对于抽象方法,子类必须实现它。

    对于虚拟方法,子类可以重写也可以不重写。

    在Material 类中增加一个虚方法

    /// <summary>
    /// 入库的虚方法
    /// </summary>
    /// <param name="qty"></param>
    public virtual void InStock(int qty)
    {
        this.Qty += qty;
    }
    
    

    调用增加入库

    tool.InStock(100);
    tool.Print();
    
    
    image.png

    相关文章

      网友评论

          本文标题:45.C# 抽像类与方法

          本文链接:https://www.haomeiwen.com/subject/bplizdtx.html