美文网首页
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

相关文章

  • 2019-08-20

    今天学习抽像类。

  • 抽象类和接口

    抽象类和接口 抽象类与抽象方法 抽象类可以看做一种特殊的类,抽象类中不一定包含抽象方法,但是有抽象方法的类必定是抽...

  • 4.抽象类与接口

    抽象类与接口 (注意:实现一个接口,必须实现接口里的所有方法) 抽象类:如果一个类中包含抽象方法,那么这个类就是抽...

  • Java 中的抽象与接口

    抽象方法和抽象类(abstract) 抽象方法和抽象类使用 abstract 来定义,有抽象方法的类必须被定义为抽...

  • Java中接口与抽象类的区别

    一、抽象类 在Java中,被关键字abstract修饰的类称为抽象类;被abstract修饰的方法称为抽象方法,抽...

  • 面向对象:抽象类,接口,内部类

    抽象类: 抽象类的概念: Java中可以定义没有方法体的方法,方法的具体实现由子类完成,该方法称为抽象方法,包含抽...

  • 策略模式

    如果在多个类中有同样的一个方法怎么办呢?除此之外三个类中的这个方法还有少许不同怎么办,抽接口或者抽父类都不是很好,...

  • 434,利用OC对象的消息重定向forwardingTarget

    在OC中,当像一个对象发送消息,而对象找到消息后,从它的类方法列表,父类方法列表,一直找到根类方法列表都没有找到与...

  • Java知识点总结基础篇41-45

    四十一、抽象类与接口的区别 1.一个类只能进行单继承,但可以实现多个接口。 2.有抽象方法的类一定是抽象类,但是抽...

  • 抽象类

    抽象类是以abstract声明的类,抽象类的方法不一定是抽象方法。 和接口一样,抽象类不能实例化,但能被继承。 抽...

网友评论

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

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