C# 非抽象类中的抽象方法反之亦然
在抽象类中定义非抽象方法和在非抽象类中定义抽象方法的目的是什么C# 非抽象类中的抽象方法反之亦然,c#,abstract,C#,Abstract,在抽象类中定义非抽象方法和在非抽象类中定义抽象方法的目的是什么 使用这些工具的有用场景在哪里 抽象类的一个特性是,除了必须实现的抽象方法之外,还可以实现基类功能。这有利于代码重用 非抽象类中不能有抽象方法 不能在非抽象类中声明abstract方法。从C#规范: 10.6.6抽象方法 (…)抽象方法声明只允许在抽象类中使用(§10.1.1.1) abstract类中的非抽象方法是一种不必(有时甚至不能)在派生类中重新实现的方法 它们提供了一些独立的实现,在所有派生类中都是相同的(当不标记为vir
使用这些工具的有用场景在哪里 抽象类的一个特性是,除了必须实现的抽象方法之外,还可以实现基类功能。这有利于代码重用 非抽象类中不能有抽象方法
abstract
方法。从C#规范:
10.6.6抽象方法
(…)抽象方法声明只允许在抽象类中使用(§10.1.1.1)
abstract
类中的非抽象方法是一种不必(有时甚至不能)在派生类中重新实现的方法
它们提供了一些独立的实现,在所有派生类中都是相同的(当不标记为virtual
时),或者可以重写,但具有一些默认行为(使用virtual
修饰符)
这主要是抽象类与接口(不能包含任何实现)的不同之处不能在非抽象类中声明抽象方法。在本例中,将方法定义为虚拟方法而不是抽象方法