• asp.net


    一、封装

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;

    /// <summary>
    ///Class1 的摘要说明
    /// </summary>
    public class Calculator
    {
    public Calculator()
    {
    //
    //TODO: 在此处添加构造函数逻辑
    //
    }
    public abstract class Calculator
    {
    public abstract double But(double a, double b);
    }

    public class Add : Calculator //接口法运算
    {
    public override double But(double a, double b) //重写
    {
    double result = 0;
    result = a + b;
    return result;
    }
    }
    public class Sub : Calculator
    {
    public override double But(double a, double b)
    {
    double result = 0;
    result = a - b;
    return result;
    }
    }
    public class Mul : Calculator
    {
    public override double But(double a, double b)
    {
    double result = 0;
    result = a * b;
    return result;
    }
    }
    public class Div : Calculator
    {
    public override double But(double a, double b)
    {
    double result = 0;
    result = a / b;
    return result;
    }
    }
    public class Every //定义运算符
    {
    private Calculator calculate = null; //实例化一个基类的引用对象
    public Every(Calculator ca) //calculator为派生类的一个对象
    {
    this.calculate = ca; //把派生类的对象赋给基类的引用对象
    }
    public double But(double a, double b, String c)
    {
    return this.calculate.But(a, b); //返回计算结果
    }
    }
    }

     二、后台代码

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;

    public partial class _Default : System.Web.UI.Page
    {
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void Button1_Click(object sender, EventArgs e)
    {

    string c = DropDownList1.SelectedItem.ToString();
    double a = Convert.ToDouble(TextBox1.Text);
    double b = Convert.ToDouble(TextBox2.Text);
    Every every =null;
    if (DropDownList1.SelectedIndex == 1)
    {
    every = new Every(new Add());
    }
    else if (DropDownList1.SelectedIndex == 2)
    {
    every = new Every(new Sub());
    }
    else if (DropDownList1.SelectedIndex == 3)
    {
    every = new Every(new Mul());
    }
    else if (DropDownList1.SelectedIndex == 4) {
    every = new Every(new Div());
    }
    string answer = every.But(a, b, c).ToString();
    string result = TextBox1.Text + DropDownList1.SelectedItem.ToString() + TextBox2.Text;
    if (TextBox3.Text == answer)
    {
    Response.Write("<script>alert('回答正确!')</script>");
    ListBox1.Items.Add(result + "=" + TextBox3.Text.Trim());
    }

    else
    {
    Response.Write("<script>alert('答题错误!')</script>");
    ListBox1.Items.Add(result + "=" + TextBox3.Text.Trim());
    }
    TextBox1.Text = "";
    TextBox2.Text = "";
    TextBox3.Text = "";
    }
    }

     三、实现

    总结:做了这两次作业我总结出来面向对象编程,并不是类越多越好,类的划分是为了封装,但分类的基础是抽象,具有相同属性和功能的对象的抽象集合才是类。

    总体感受就那么多,其实还是对这些模式不熟悉不理解,还要好好学

  • 相关阅读:
    Educational Codeforces Round 47 (Rated for Div. 2) :A. Game Shopping
    Codeforces Round #482 (Div. 2) : Kuro and GCD and XOR and SUM (寻找最大异或值)
    python+locust性能测试(三)之No Web UI模式下运行Locust
    python+locust性能测试(二)之locust深入使用
    python+locust性能测试(一)之locust性能测试入门
    python Mqtt 的安装及使用
    Mysql性能优化(四)--MySQL优化
    uiautomator2+ tesseract 智能识别文字实现手游辅助外挂,打怪刷装备快人一步
    python实用小技之数据结构
    Mysql性能优化(三)--explain返回的结果说明
  • 原文地址:https://www.cnblogs.com/caixiufang/p/5023666.html
Copyright © 2020-2023  润新知