【程序功能】 本程序实现如下功能:定义货币类 Currency ,在类中定义字段、属性和抽象方法;由基类 Currency 创建派生类 RMB 、 Dollar 和 Pound , 在派生类中实现方法重载;在实例化类的对象并且调用类的方法实现多态性。 【操作要求】 新建并保存项目:在 Visual Studio.NET 中,新建一个 Visual C# 控制台应用程序项目,名称设置为 Test2_17 , 位置设置为考生文件夹。 1. 定义基类 Currency: 为项目添加公有抽象类 Currency ,保存在文件 Currency.cs 中。 2. 为基类 Currency 添加下列字段、属性和方法: l 私有字段 m_country 代表使用国家,数据类型为 string ; l 私有字段 m_rate ,代表汇率,数据类型为 float ; l 公有属性 Country ,用于获取和设置 m_country 字段,包含 get 访问器和 set 访问器; l 公有属性 Rate ,用于获取和设置 m_rate 字段,包含 get 访问器和 set 访问器 , 在类的构造函数中设置初始值为 1 ; l 抽象方法 Introduce() ,用于说明货币汇率,方法返回类型为 string 。 3. 定义派生类 RMB 、 Dollar 和 Pound , 在其中重写基类的构造函数和抽象方法: l 从基类 Currency 中派生出公有类 RMB 、 Dollar 和 Pound, 仍然保存在文件 Currency.cs 中; l 在类 RMB 的构造函数中,设置属性 Country 的初始值为 “ China ”; l 在类 Dollar 的构造函数中,设置属性 Country 的初始值为 “ United States ”,设置属性 Rate 的初始值为 8.2 ; l 在类 Pound 的构造函数中,设置属性 Country 的初始值为 “ Britain ”,设置属性 Rate 的厨师值为 13.1f ; l 在类 RMB 中重写基类 Currency. 的虚拟方法 Introduce ,方法返回一个字符串 “ The RMB is used in x ” , 其中 x 表示说明属性 Country 得值 ; l 在类 Dollar 中重写基类 Currency. 的虚拟方法 Introduce ,方法返回一个字符串 “ One Dollar is equal to RMB x ” , 其中 x 表示说明属性 Rate 得值 ; l 在类 Pound 中重写基类 Currency. 的虚拟方法 Introduce ,方法返回一个字符串 “ One Pound is equal to RMB x ” , 其中 x 表示说明属性 Rate 得值 ; 4. 在方法中实例化类的对象,调用方法输出说明货币汇率的字符串: l 构造一个 Currency 类型的变量 currency ; l 实例化 RMB 的一个对象并赋值给变量 currency ,调用类的方法 Introduce (),并输出方法返回的字符串; l 实例化 Doullar 的一个对象并赋值给变量 currency ,调用类的方法 Introduce (),并输出方法返回的字符串; l 实例化 Pound 的一个对象并赋值给变量 currency ,调用类的方法 Introduce (),并输出方法返回的字符串; l 输出文本 “按回车键结束”,读取回车键结束程序。 5. 程序设计完成后进行编译,生成项目的 EXE 可执行文件。 【执行结果】 运行程序打开命令行窗口,输出货币汇率,如图 2-17 所示。