diff --git a/hw1/hw1/Counting.cs b/hw1/hw1/Counting.cs index b8e76f4..b684c98 100644 --- a/hw1/hw1/Counting.cs +++ b/hw1/hw1/Counting.cs @@ -44,6 +44,34 @@ public interface ICountableVariable public class Counting : ICountableVariable { + private int variable; + private int oldvar; + private int readTimes; + private int writeTimes; + public int Variable + { + get + { + readTimes++; + return variable; + } + set + { + oldvar = variable; + variable = value >= 0 ? value : 0; + if (oldvar != variable) + writeTimes++; + } + } + public int ReadTimes + { + get { return readTimes; } + } + public int WriteTimes + { + get { return writeTimes; } + } + } // 需要实现:分别统计变量Variable被读取、被修改的次数,只允许修改Counting类中的代码 // 要求: // 1. Variable 不能被外部程序赋值为负数。若被赋为负数,则将它代表的值置为0。 @@ -52,5 +80,5 @@ public class Counting : ICountableVariable // // 注意:是Variable被修改!!! // 如果Variable要被赋予的值与当前的值相同,这并不是被修改! - } + }