c#经典面试题

您所在的位置:网站首页 猫叫声音吓老鼠跑的视频 c#经典面试题

c#经典面试题

2024-07-15 22:21| 来源: 网络整理| 查看: 265

实现方法:分3个类实现,分别为猫类,老鼠类,主人类。

猫类:定义一个猫叫事件;

老鼠类:订阅猫叫事件,在猫发出叫声这个事件后,老鼠逃跑;

主人类:类似于老鼠类,在猫发出叫声这个事件后,主人醒来;

猫类实现如下:

using System; namespace CarCry { /// /// 猫类的定义 /// public class Cat { //猫名 private string _name; //猫叫事件 public event EventHandler CatCryEvent; /// /// 构造函数 /// ///名字参数 public Cat( string name ) { _name = name; } /// /// 促发猫叫的事件 /// public void CatCry() { CatCryEventArgs args = new CatCryEventArgs(_name); Console.WriteLine(args); CatCryEvent(this, args); } } /// /// 猫叫事件参数 /// public class CatCryEventArgs:EventArgs { //发出叫声的猫的名字 private string _catname; /// /// 构造函数 /// public CatCryEventArgs( string catname ):base() { _catname = catname; } /// /// 输出参数内容 /// public override string ToString() { return "猫 " + _catname + " 叫了"; } } } //老鼠类实现如下: using System; using System.Collections.Generic; using System.Text; namespace CarCry { public class Mouse { //老鼠名字 private string _name; /// /// 构造函数 /// ///老鼠的名字 ///发出叫声的猫 public Mouse( string name, Cat cat ) { _name = name; cat.CatCryEvent += CatCryHandle;//订阅猫叫事件 } /// /// 猫叫事件处理 /// /// /// private void CatCryHandle( object sender, CatCryEventArgs args ) { Run(); } /// /// 逃跑方法 /// private void Run() { Console.WriteLine("老鼠 " + _name + " 逃跑了"); } } } //主人类实现如下: using System; using System.Collections.Generic; using System.Text; namespace CarCry { public class Master { //主人名字 private string _name; /// /// 构造函数,订阅事件 /// ///主人名字 ///猫 public Master( string name, Cat cat ) { _name = name; cat.CatCryEvent += CatCryHandler;//订阅猫叫事件 } /// /// 猫叫事件处理 /// /// ///猫叫事件 private void CatCryHandler( object sender, CatCryEventArgs args ) { WakeUp(); } /// /// 主人醒了事件 /// private void WakeUp() { Console.WriteLine("主人 " + _name + " 醒了"); } } } //主函数的调用如下: using System; using System.Collections.Generic; using System.Text; namespace CarCry { class MainClass { static void Main( string[] args ) { Console.WriteLine("开始模拟"); Cat cat = new Cat("Tom"); Mouse mouse1 = new Mouse("Jack", cat); Mouse mouse2 = new Mouse("jackson", cat); Master master = new Master("Tao", cat); Master master2 = new Master("Hong", cat); cat.CatCry(); Console.ReadLine(); } } }


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3