什么是抽象类?

发布网友 发布时间:2022-04-20 01:39

我来回答

3个回答

热心网友 时间:2022-05-13 03:41

抽象类是包含一种或多种抽象方法的类,它本身不需要构造实例。定义抽象类后,其它类可以对它进行扩充并且通过实现其中的抽象方法,使抽象类具体化。

一个抽象类是一个没有程序实现部分而需要由其子类去填充完整的类。

一个抽象类是被有意设计成未完成的样子。它只定义了一个框架,不同的子类可以根据自己的情况去填充不同的内容。不同的现实子类(非抽象类)提供一组变体。

热心网友 时间:2022-05-13 04:59

抽象类与接口紧密相关,它们不能示例化,并且常常部分实现或根本不实现。抽象类和接口之间的一个主要差别是:类可以实现无限个接口,但仅能从一个抽象(或任何其他类型)类继承。从抽象类派生的类仍可实现接口。可以在创建组件时使用抽象类,因为它们使您得以在某些方法中指定不变级功能,但直到需要该类的特定实现之后才实现其他方法。抽象类也制定版本,因为如果在派生类中需要附加功能,则可以将其添加到基类而不中断代码。

在 Visual Basic 中,抽象类用 MustInherit 关键字表示。在 C# 中,则使用 abstract 修饰符。任何所谓不变的方法都可以编码至基类中,但在 Visual Basic 中,任何要实现的方法都用 MustOverride 修饰符标记。在 C# 中,这些方法标记为 abstract。

热心网友 时间:2022-05-13 06:34

一个抽象类必须用关键字abstract明确地声明。注意声明一个抽象类非常简单,它甚至不需要任何抽象方法。通过abstract的声明就等于告诉子类它在功能上是不完整的,所以不能创建它的实例。

例如,AWT中的Component类对于所有AWT用户界面元素来说是一个抽象父类。尽管它为所有的方法都提供了缺省的实现方案,但它却依然是抽象的。Component不能被直接实例化,相反它却提供了一个通用的体系结构,因此它的许多子类如Button,TextField可以被定义和初始化。
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com