.Net模块封装

模块封装

程序设计

使用面向对象逻辑实现的计算器

 class Calcuator
    {
        public  int Add(int i, int j)
        {
            return i + j;
        }
       public int Mul(int i, int j)
        {
            return i - j;
        }
        public int Max(int i, int j)
        {
            return i * j;
        }
        public int Div(int i, int j)
        {
            return i / j;
        }
    }
  private void button1_Click(object sender, EventArgs e)
        {
            int num1 = int.Parse(textBox1.Text);
            int num2 = int.Parse(textBox2.Text);
            string type = comboBox1.SelectedItem.ToString();

            Calcuator calc = new Calcuator();
            if (type=="+")
            {
                label2.Text =calc.Add(num1, num2).ToString();
            }
            else if (type=="-")
            {
                label2.Text = calc.Mul(num1, num2).ToString();
            }
        }

新问题的引出

首先刚才是这款软件的第一个版本能够实现整数的基础运算。这个软件上线之后很多客户都在正常使用。

但是很多用户提出来了一些问题:

  1. 除法运算无法求出小数部分
  2. 运算的功能较少能否再添加一些功能
  3. 上个计算器类是由程序员A编写的,现在解决问题只能由程序员B来维护

关键问题:上个计算器类是由程序员A编写的,现在由程序员B来维护除过Calculator类以外的所有程序,客户的要求要更改但是程序员B不知道A编写的源码,如果计算器类需要变动只能由A来完成,与B无关,假如你是程序员A为了解决这个隐患如何做。

问题点:两个人写的代码在同一个项目中,无法满足客户要求

导致最终问题:这个程序假如更改完成,面临的是要将之前的第一个版本先下线,然后将新的程序第二个版本再上线,用户会有很多烦恼:计算机上出现了1.0、 1.1、1.2、1.3、…等一系列版本,

如何解决上述一系列问题

使用模块封装

  1. 右键解决方案>>选择“新建项目”>>(.NET Framework)类库
    在这里插入图片描述
    2 向类库中添加Calc类,并编写方法
public class Calc
    {
        /// <summary>
        /// 加法运算
        /// </summary>
        /// <param name="i">参数1</param>
        /// <param name="j">参数2</param>
        /// <returns></returns>
        public int Add(int i, int j)
        {
            return i + j;
        }
        /// <summary>
        /// 减法运算
        /// </summary>
        /// <param name="i">参数1</param>
        /// <param name="j">参数2</param>
        /// <returns></returns>
        public int Mul(int i, int j)
        {
            return i - j;
        }
        /// <summary>
        /// 乘法运算
        /// </summary>
        /// <param name="i">参数1</param>
        /// <param name="j">参数2</param>
        /// <returns></returns>
        public int Max(int i, int j)
        {
            return i * j;
        }
        /// <summary>
        /// 除
        /// </summary>
        /// <param name="i"></param>
        /// <param name="j"></param>
        /// <returns></returns>
        public double Div(int i, int j)
        {
            return  Convert.ToDouble(i) /Convert.ToDouble(j);
        }
    }

3.右键选择生成类库项目,并打开类库程序文件夹Debug找到对应的类库.dll文件,这个dll(Dynamic Link Library)动态来接库文件,里面包含了这个类库中我们添加的所有的类,类中的所有方法,以对其内部C#代码编译后的结果进行保存(dll是一个.NET平台上能够直接执行的机器语言集合)
在这里插入图片描述
4. 在主项目中添加对Calculator.dll文件的引用

  1. 在项目中使用Calculator类库中的Calc对象
  Calc calc = new Calc();
        private void button1_Click(object sender, EventArgs e)
        {
            int num1 = int.Parse(textBox1.Text);
            int num2 = int.Parse(textBox2.Text);
            string type = comboBox1.SelectedItem.ToString();
            if (type=="+")
            {
                label2.Text = calc.Add(num1,num2).ToString();
            }
            else if (type=="-")
            {
                label2.Text =calc.Mul(num1,num2).ToString();
            }
            else if (type=="×")
            {
                label2.Text =calc.Max(num1,num2).ToString();
            }
            else if (type=="÷")
            {
                label2.Text = calc.Div(num1, num2).ToString() ;
            }
        }

模块封装的应用

检查更新-》下载文件-》升级替换-》应用新模块

发布了115 篇原创文章 · 获赞 198 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/chonbi/article/details/104604811