【程序功能】 本程序实现如下功能:定义多边形类 Polyon ,在类中定义字段、属性和虚拟方法;由基类 Polyon 创建派生类 Triangle 、 Square 、 和 Pentagon , 在派生类中实现方法重载;在实例化类的对象并且调用类的方法实现多态性。 【操作要求】 新建并保存项目:在 Visual Studio.NET 中,新建一个 Visual C# 控制台应用程序项目,名称设置为 Test2_16 , 位置设置为考生文件夹。 1. 定义基类 Polyon: 为项目添加公有抽象类 Polyon ,保存在文件 Polyon.cs 中。 2. 为基类 Polyon 添加下列字段、属性和方法: l 私有字段 m_length, 代表边长,数据类型为 int ; l 私有字段 m_sides ,代表,数据类型为 int ; l 公有属性 Length ,用于获取和设置 m_length 字段,包含 get 访问器和 set 访问器,在类的构造函数中设置初始值为 1 ; l 公有属性 Sides ,用于获取和设置 m_sides 字段,包含 get 访问器和 set 访问器。 l 抽象方法 GetPeri (),用于计算图形周长,方法返回类型为 string 。 3. 定义派生类 Triangle 、 Square 、 和 Pentagon , 在其中重写基类的构造函数和抽象方法: l 从基类 Polyon 中派生出共有类 Triangle 、 Square 、 和 Pentagon , 仍然保存在文件 Polyon .cs 中; l 在类 Triangle 的构造函数中,设置属性 Side 的初始值为 3; l 在类 Square 的构造函数中,设置属性 Side 的初始值为 4; l 在类 Pentagon 的构造函数中,设置属性 Side 的初始值为 5; l 在类 Triangle 中重写基类 Polyon 的抽象方法 GetPeri ,方法返回一个字符串“ The perimeter of the triangle is x ”,其中 x 表示属性 Length 和 Side 的乘积 ; l 在类 Square 中重写基类 Polyon 的抽象方法 GetPeri ,方法返回一个字符串“ The perimeter of the Square is x ”,其中 x 表示属性 Length 和 Side 的乘积 ; l 在类 Pentagon 中重写基类 Polyon 的抽象方法 GetPeri ,方法返回一个字符串“ The perimeter of the pentagon is x ”,其中 x 表示属性 Length 和 Side 的乘积 ; 4. 在方法中实例化类的对象,调用方法输出介绍动物发出叫声的字符串: l 构造 Polyon 的一个对象 p olyon ; l 实例化 Triangle 的一个对象并赋值给变量 p olyon ,设置属性 Length 的值为 3 ,调用类的方法 GetPeri (),并输出方法返回的字符串; l 实例化 Square 的一个对象并赋值给变量 p olyon ,设置属性 Length 的值为 2 ,调用类的方法 GetPeri (),并输出方法返回的字符串; l 实例化 Pentagon 的一个对象并赋值给变量 p olyon ,调用类的方法 GetPeri (),并输出方法返回的字符串; l 输出文本 “按回车键结束”,读取回车键结束程序。 5. 程序设计完成后进行编译,生成项目的 EXE 可执行文件。 【执行结果】 运行程序打开命令行窗口,输出介绍动物的字符串,如图 2-16 所示。