猫抓老鼠

C# 委托和事件 与 观察者模式(发布-订阅模式)讲解 by天命

…衆ロ難τιáo~ 提交于 2020-02-02 01:09:16
使用面向对象的思想 用c#控制台代码模拟猫抓老鼠 我们先来分析一下猫抓老鼠的过程 1.猫叫了 2.所有老鼠听到叫声,知道是哪只猫来了 3.老鼠们逃跑,边逃边喊:"xx猫来了,快跑啊!我是老鼠xxx" 一 双向耦合的代码 首先需要一个猫类Cat 一个老鼠类Rat 和一个测试类Program 老鼠类的代码如下 //老鼠类 public class Rat { public string Name { get; set; } //老鼠的名字 public Cat MyCat { get; set; } //老鼠遇到的猫 //老鼠逃跑的方法 public void Run() { Console.WriteLine(MyCat.Name + "猫来了,大家快跑!!我是" + Name); //打印出信息 包含了猫的名字和老鼠本身的名字 } //带参和无参构造 public Rat() { } public Rat(string name, Cat cat) { this.Name = name; this.MyCat = cat; } } 要让猫叫的时候依次打印出老鼠的逃跑方法,需要在Cat类里添加一个存放Rat对象的集合 Cat类的代码如下 public class Cat { public string Name { get; set; } //猫的名字 List<Rat> list