抽象类是一种特殊的类,与普通类相比,该类不能被实例化。本部分介绍抽象类和抽象方法的相关知识。
抽象类的用途是提供多个派生类可共享的基类的公共定义,并使用abstract关键字定义。使用abstract关键字不仅可以创建仅用于继承用途的类,也可以定义类成员,即定义派生的非抽象类的功能。如下代码定义了一个抽象类:
abstract class Class1
{
}
抽象类也不能实例化,这点与接口相同,但抽象类中可以定义方法的实现。如下代码定义了一个抽象类,并定义了其方法、属性及其代码实现。
创建一个Windows控制台应用程序,演示如何创建一个抽象类及其方法。
(1)创建一个名为ClassAbstract的控制台应用程序项目。
(2)修改Program.cs文件的内容如下:
namespace ClassAbstract
{
class Program
{
static void Main(string[] args)
{
}
}
abstract class Class1
{
// SayHello方法及其实现
void SayHello()
{
Console.WriteLine(hello);
}
// Hello属性及其实现
string Hello
{
get
{
return hello;
}
set
{
hello = value;
}
}
string hello = "Hello World!";
}
}
该实例无结果。
代码中的Class1是一个抽象类,该类用关键字Abstract定义。类中包含了方法,属性和字段,但是该类不能被实例化。当在Main方法中加入创建Class1实例的语句后,将会出现如图6-18所示的错误。
图6-18 运行结果