Visual C#.NET程序设计 作业 - 图文(6)

2019-08-31 23:16

try { _temperature = Convert.ToDouble(Console.ReadLine()); } catch //捕捉异常,例如:若输入字母,在转换成Decimal时会引发异常 { Console.WriteLine(\请为温度输入数字!\ } Console.WriteLine(\该哺乳动物是否胎生:\ _isViviparous = Console.ReadLine(); } //显示哺乳动物的特征信息 public void DisplayCharacter() { Console.WriteLine(); Console.WriteLine(\的特征包括:\ Console.WriteLine(\恒定温度:{0}\ Console.WriteLine(\是否胎生:{0}\ } } class Program { static void Main(string[] args) { Mammal objM = new Mammal(); objM.AcceptDetails();//访问父类方法 objM.AcceptCharacter(); objM.DisplayDetails();//访问父类方法 objM.DisplayCharacter(); } } } (3)生成项目。

(4)选择“调试” →“开始执行(不调试)”选项来执行此应用程序,输出结果如图1.1所示。

图1.1 练习1的输出结果

练习2:使用抽象类和抽象方法计算不同形状的面积

问题

编写一个程序,使用抽象类和抽象方法来计算不同形状的面积。 指导教师讲解问题说明

先定义一个抽象类,该抽象类有一名为计算面积的方法为抽象方法。 指导教师分析解题思路

定义好抽象类和抽象方法后,具体的类继承该抽象类,实现抽象方法。该问题中定义两个具体形状类:矩形和圆。 解决方案:

(1)创建一个基于控制台的项目“AbstractClass”。

(2)建立一个抽象类,命名为“Figure”, 定义变量和抽象方法Area()。

(3)定义两个具体类Square和Circle继承自Figure类,在各自类中分别实现Area()方法。 (4)创建一个测试类,分别调用Square和Circle类。 (5)添加以下完整的代码

using System; abstract class Figure//抽象类定义,表示一个抽象图形 { protected double x = 0, y = 0; public Figure(double a, double b) { x = a; y = b; } public abstract void Area(); //抽象方法,无实现代码,抽象图形无法计算面积 } class Square : Figure //类Square定义,矩形类 { public Square(double a, double b) : base(a, b) { } public override void Area() //不能使用new,必须用override { Console.WriteLine(\矩形面积是:{0}\显示矩形面积 } class Circle : Figure //类Circle定义,圆类 { public Circle(double a) : base(a, a) { } public override void Area() { Console.WriteLine(\圆面积是:{0}\显示圆的面积 } class Class1 { static void Main(string[] args) { Square s = new Square(20, 30); Circle c = new Circle(10); s.Area(); c.Area(); } } (6)选择“生成”→“生成解决方案”选项,以生成此项目。

(7)选择“调试” →“开始执行(不调试)”选项来执行此应用程序。 此程序的输出结果如图2.1所示。

图2.1 程序输出结果

指导教师检查学生进度

练习3:使用委托和事件实现模拟闹铃

问题

编写一个模拟闹铃的程序,具有闹铃,继续闹铃,打会盹儿,停止闹铃的功能。 指导教师讲解问题说明

编写一个程序用来模拟闹钟闹起床流程,有一个闹钟类AlarmClock,催促起床类WakeMeUp,使用类AlarmDriver。调用类引发开始闹铃事件,闹钟类调用委托方法进行处理,催促起床类和用户进行交互。 指导教师分析解题思路

在此问题中,可以设计考试类来控制流程。闹钟类应该有一个可以引发开始闹铃的方法由使用类调用。这是一种常用的类设计方式,就是建立一些实体类,这些实体类由控制流程的类来进行关联。 解决方案:

(1)创建一个基于控制台的项目“EventSample”。

(2)建立一个类,命名为“AlarmEventArgs”, 定义事件参数类。 (3)声明自定义代理类型,它的事件参数的类型为AlarmEventArgs。 (4)创建包含事件和触发事件方法的类:AlarmClock。 (5)创建包含事件处理方法的类:WakeMeUp。 (6)创建包含程序入口方法的类:AlarmDriver。 (7)添加以下完整的代码

using System; using System.Collections.Generic; using System.Text; namespace EventSample { // // 定义事件参数类 // public class AlarmEventArgs : EventArgs { private readonly bool snoozePressed; private readonly int nrings; //构造函数 public AlarmEventArgs(bool snoozePressed, int nrings) { this.snoozePressed = snoozePressed; this.nrings = nrings; } // 定义属性,私有字段nrings public int NumRings { get { return nrings; } } // 定义属性,返回私有字段snoozePressed public bool SnoozePressed { get { return snoozePressed; } } // 下面的属性返回一个字符串 public string AlarmText { get { if (snoozePressed) { return (\别打打盹儿,快起床!\ } else { return (\起床!\ } } } } // 声明自定义代理类型,它的事件参数的类型为AlarmEventArgs public delegate void AlarmEventHandler(object sender, AlarmEventArgs e); // 包含事件和触发事件方法的类 public class AlarmClock { private bool snoozePressed = false; private int nrings = 0; private bool stop = false; // 定义两个属性 public bool Stop { get { return stop; } set { stop = value; } } public bool SnoozePressed { get { return snoozePressed; } set { snoozePressed = value; } } // 声明事件,它所使用的代理类型为AlarmEventHandler public event AlarmEventHandler Alarm; // 触发事件的方法 protected virtual void OnAlarm(AlarmEventArgs e) {


Visual C#.NET程序设计 作业 - 图文(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:实验一 DSB调制与解调

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: