通过引用C#,可以定义不包含抽象方法的抽象类,然后将定义类用作ABSTRACT吗?
答案 0 :(得分:2)
具有属性的abstract
类可用于表示继承中的基类。无法实例化抽象类。这可能很合适,因为我们不想让其他人为我们的基类创建对象。
您可以定义抽象类来定义对象的抽象性质。例如:动物有眼睛。狗可以从动物遗传,因此它会有眼睛。我们可以创建一个Dog对象。但是我们不想创建一个Animal对象。
来自msdn,
抽象类的目的是提供一个通用的定义 多个派生类可以共享的基类。例如,a 类库可以定义一个用作参数的抽象类 它的许多功能,并要求程序员使用该库 通过创建派生来提供自己的类实现 类。
答案 1 :(得分:1)
通过引用C#,可以定义不包含抽象方法的抽象类
是的,绝对
那么使用定义类作为摘要?
主要是传达应该派生类的事实。通过使构造函数受到保护可以实现类似的效果:没有人能够在不继承它的情况下创建类的实例。
答案 2 :(得分:1)
将类定义为抽象可防止它直接实例化。
答案 3 :(得分:1)
基本上,我根据经验使用,当它们必须被继承以实例化时,你应该总是定义类abstract。因为抽象类本身不能。
例如。假设你有一个Building类,它是抽象的。然后必须通过派生类(例如,银行或众议院)对其进行实例化。在Building类中没有抽象方法的事实与它是抽象的没有任何关系。
答案 4 :(得分:1)
一个简单的规则就是使抽象类(无论它是否包含抽象方法)每当你觉得这个特定的类如果它独立时就不会产生感觉......
因此在
时使用抽象类答案 5 :(得分:0)
你可以将一个类定义为抽象并且没有方法...但是,你将无法对它做任何事情,因为它只能由其他类继承而不能自己实例化。
答案 6 :(得分:0)
- 您无法创建抽象类的实例。
- abstract关键字使您能够创建不完整且必须在派生中实现的类和类成员 类。
- 抽象类的目的是提供多个派生类可以共享的基类的通用定义。
醇>
答案 7 :(得分:0)
抽象类可以包含抽象方法以及普通(具体方法)。
抽象类的目的是用作可由其他类继承的基类。 这样做的好处是多个子类可以利用基类(抽象类)中的方法,而无需再次重写相同的方法。
答案 8 :(得分:0)
您定义了一个类abstract
,以保留定义抽象成员的可能性。
你可以避免这样做,但在这种情况下,它只是意味着更少。
这样的其他问题可以做到:
为什么我可以定义一些函数
virtual
,即使没有人会覆盖 它。 ?
这些是不同的概念,当然,但提出问题的想法是一样的。
希望这有帮助。