封装,策略模式

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.IO;
 6
 7 namespace 出题
 8 {
 9     class Writeclear   //Writeclear类
10     {
11        private string a;
12        private string b;
13        private string opertaors;
14        public Writeclear(string A,string B,string Operators)
15        {
16            a = A;
17            b = B;
18            opertaors = Operators;
19
20        }
21
22        private string x;
23        private string y;
24        private string operator1;
25        public string X
26        {
27            set
28            {
29                x = value;
30            }
31        }
32        public string Y
33        {
34            set
35            {
36                y = value;
37            }
38        }
39        public string Operator1
40        {
41            set
42            {
43                operator1 = value;
44            }
45        }
46
47        public void write()
48        {
49            StreamWriter a1 = new StreamWriter(a, true);
50            a1.WriteLine(x);
51            a1.Close();
52            StreamWriter a2 = new StreamWriter(b, true);
53            a2.WriteLine(y);
54            a2.Close();
55            StreamWriter a3 = new StreamWriter(opertaors, true);
56            a3.WriteLine(operator1);
57            a3.Close();
58
59        }
60        public void clear()
61        {
62            StreamWriter b1 = new StreamWriter(a);
63            b1.WriteLine("");
64            b1.Close();
65            StreamWriter b2 = new StreamWriter(b);
66            b2.WriteLine("");
67            b2.Close();
68            StreamWriter b3 = new StreamWriter(opertaors);
69            b3.WriteLine("");
70            b3.Close();
71        }
72
73
74     }
75 }

from1

 1 using System;
 2 using System.Collections.Generic;
 3 using System.ComponentModel;
 4 using System.Data;
 5 using System.Drawing;
 6 using System.Linq;
 7 using System.Text;
 8 using System.Windows.Forms;
 9 using System.IO;
10
11
12 namespace 出题
13 {
14     public partial class Form1 : Form
15     {
16         public Form1()
17         {
18             InitializeComponent();
19         }
20
21
22         private void button1_Click(object sender, EventArgs e)
23         {
24             string fnm = @"one";
25             string fnmm = @"tow";
26             string fnmn = @"fuhao";
27             Writeclear write1 = new Writeclear(fnm,fnmm,fnmn);
28             write1.X = textBox1.Text;
29             write1.Y = textBox2.Text;
30             write1.Operator1 = comboBox1.Text;
31             write1.write();
32             textBox1.Clear();
33             textBox2.Clear();
34
35         }
36
37         private void button2_Click(object sender, EventArgs e)
38         {
39             Form2 fam = new Form2();
40             fam.ShowDialog();
41
42         }
43
44         private void button3_Click(object sender, EventArgs e)
45         {
46
47             string fnm = @"one";
48             string fnmm = @"tow";
49             string fnmn = @"fuhao";
50             Writeclear write1 = new Writeclear(fnm, fnmm, fnmn);
51             write1.clear();
52         }
53
54
55         }
56     }

from2

sing System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace 出题
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }

        int i=1;
       public static int count = -1;
       public static int right = 0;
        private void timer1_Tick(object sender, EventArgs e)
        {
            try
            {
                int t = int.Parse(textBox5.Text);
                if (t <= 0)
                {
                    timer1.Enabled = false;
                    textBox5.Enabled = false;
                    MessageBox.Show("时间到了!");
                    Form3 fr3 = new Form3();
                    fr3.ShowDialog();

                }
                t = t - 1;
                textBox5.Text = t.ToString();

            }
            catch
            {

            }

        }

        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                string t = textBox5.Text;
                textBox5.Text = t;
                timer1.Enabled = true;
                timer1.Interval = 1000;
                timer1.Start();
            }
            catch
            { 

            }
            baaa();
            count++;

        }

        private void textBox4_KeyDown(object sender, KeyEventArgs e)
        {
            Calculator calculator=new Calculator();
            calcuall cal=new calcuall();
            calculator.X=int.Parse(textBox1.Text);
            calculator.Y=int.Parse(textBox3.Text);
            calculator.Operator1=textBox2.Text;
            cal.Operator2=textBox2.Text;
            if (e.KeyCode == Keys.Enter)
            {
                if (textBox4.Text ==calculator.Answer.ToString() )
                {
                    MessageBox.Show("回答正确!");
                    right++;

from3

 1 using System;
 2 using System.Collections.Generic;
 3 using System.ComponentModel;
 4 using System.Data;
 5 using System.Drawing;
 6 using System.Linq;
 7 using System.Text;
 8 using System.Windows.Forms;
 9
10 namespace 出题
11 {
12     public partial class Form3 : Form
13     {
14         public Form3()
15         {
16             InitializeComponent();
17         }
18
19         private void Form3_Load(object sender, EventArgs e)
20         {
21             textBox1.Text = Form2.right.ToString();
22             textBox2.Text = Form2.count.ToString();
23             textBox3.Text = ((Form2.right / (double)(Form2.count)) * 100).ToString() + "%";
24         }
25     }
26 }
时间: 2024-10-25 07:09:17

封装,策略模式的相关文章

四则运算《《《代码封装 策略模式

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 6 namespace sum 7 { 8 class Class1 9 { 10 public interface Calculator //声明计算接口 11 { 12 double Cal(double x, double y); 13 } 14 private double x; //定义x变量:

简易计算器(代码+封装+策略模式)

具体设计思路:1.先创建一个Windows窗体.2.添加所需控件,修改相应的属性值.3.对控件编写代码,使之实现相应的功能.4.设计出一个四则运算雏形后再根据需求完善代码.5.进行测试分析.6.对程序进行PSP耗时分析. 运行结果: 代码如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using Sys

asp.net实现运算+代码封装+策略模式

设计界面: 测试界面: 代码: using System; using System.Collections.Generic; using System.Linq; using System.Web; /// <summary> ///Class2 的摘要说明 /// </summary> public interface ITaxStragety { int Calcul(int a, int b); } class Class2 : ITaxStragety { public

策略模式(行为型)

思考问题: 一个书店的某类书是免费的,某类书是固定1元的,某类书是按折扣算的(比如88%)(同一类别的书本价格一样).假定顾客只买一类书,在设计书店BookStore类时应该如何计算顾客买书的费用? 解答: 1. 你有可能不知道如何设计,毕竟上面的计算规则不一样(并不是一类书8折另一类书9折那样好计算): 2. 既然这样,我们就定义一个接口(策略接口),规定一个方法(strategyInterface())为计算金额的方法,BookStore类构造对象时传入该策略接口的实现类对象(在构造该对象时

【设计模式】策略模式 —— 封装行为的大局观

OO基础 抽象 封装 多态 继承 OO原则 封装变化 多用组合,少用继承 针对接口编程,不针对实现编程 OO模式 策略模式——定义算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户. 1. 知道OO基础,并不足以让你设计出良好的OO系统. 2. 良好的OO设计必须具有可复用.可扩充.可维护三个特性. 3. 模式可以让我们建造出具有良好OO设计质量的系统. 4. 模式被认为是历经验证的OO设计经验. 5. 模式不是代码,而是针对设计问题的通用解决方案.你可以把它们

策略模式:把会变化的部分取出并封装起来

我相信大部分程序员在用Java开发的项目中只用到了一种模式:MVC,将项目分成Controller,Service,DAO三层.无论多复杂的业务逻辑都塞进Service层的方法,其结果是造成Service层的方法臃肿无比,里面充满了各种if.switch逻辑判断的分支.时间一长,连开发者自己都忘了在方法里做了什么事.当业务逻辑发生变化时,动手改这块的代码成了一件十分困难,极易出错的事. 不幸的很,业务逻辑是整个项目中变化最频繁的部分,因此我强烈建议将Service层再拆分,举个我在实际项目中遇到

Android中设计模式--策略模式(封装会变化的算法部分,面向接口不针对实现)

策略模式:定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户. 理解: 把代码中类似,但又有差异的算法部分,提取出来,定义一个借口,不同的算法来进行不同的实现,但调用算法的客户可以进行统一的调用,因为实现了共同的借口,客户不需要知道具体的实现,而是知道怎么用,即针对接口编程,而不针对实现编程. 总结: 找出代码中可能需要变换之处,把它们独立出来,不要和那些不需要变化的代码混在一起. 例子 private TextClickInterface mClickI

使用策略模式封装拦截器

通过if-else 来实现拦截器的封装 axios.interceptors.response.use((res) => { let {message, statusCode} = res.data.data // 退出登录状态码 let logoutCodes = new Set([435001, 435011, 436050]) if (statusCode === 1000) { // 更新全局token let {pragma} = res.headers if (pragma) win

策略模式(封装算法和规则)

策略模式就是用来封装算法的,但在实践中,我们发现可以用它来封装几乎任何类型的规则,只要在分析过程中听到需要在不同时间应用不同的业务规则,就可以考虑使用策略模式处理这种变化的可能性. 原文地址:https://www.cnblogs.com/qiupiaohujie/p/11965680.html

PHP设计模式-策略模式

<?php//策略模式//将一组特定的算法或行为 封装成一个类,以适应上下文环境 //策略的接口文件 约定策略的行为 针对一种情况 产生具体的策略interface Policy{ function showAd();} class Female implements Policy{ public function showAd() { echo __CLASS__.' policy'; }} class Male implements Policy{ public function showA