【C#】【平时作业】习题-6-静态成员

习题-6静态成员

一、概念题

1. 什么是静态成员

被static修饰的成员,叫做静态成员。静态成员是属于类的。通过类名直接访问。

  • 当类第一次被访问的时候,就会将这个类下面的所有的静态成员创建在内存当中。
  • 静态成员既不在栈也不在堆中。创建在静态存储区。
  • 静态成员只创建一次,在类第一次被访问的时候创建。
  • 静态成员一旦被创建在静态存储区,那么就不会被回收,直到程序结束。
class Person
    {
        //静态成员
        public static int Age;
        //实例成员
        public string Name;
    }
    class Program
    {
        static void Main(string[] args)
        {
            //静态成员属于类,直接通过 类名.静态成员 来访问
            int age = Person.Age;

            //实例成员属于对象,需要通过 对象名.实例成员 来访问
            Person p = new Person();
            p.Name = "Jack";

        }
    }

2. 什么是方法重载

 在面向对象的语言中,允许我们在同一个类中定义多个方法名相同、参数列表(参数类型,参数个数)不同的方法,这样的形式我们称为方法重载。调用时编译器会根据实际传入参数的形式,选择与其匹配的方法执行。

二、 程序设计

设计计算器类,实现加法和减法功能。

要求:

参与计算的操作数可以是两个int;两个double,两个float

image.png

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WinFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            cbOperater.SelectedIndex = 0;
            cbOperater.Width = 49;
            cbOperater.Height = 28;
        }
        private void btCalc_Click(object sender, EventArgs e)
        {

            int op1Int;
            int op2Int;
            float op1Float;
            float op2Float;
            double op1Double;
            double op2Double;
            decimal op1Decimal;
            decimal op2Decimal;


            if (tb1.Text.Trim() == "" || tb2.Text.Trim() == "") 
            {
                MessageBox.Show("请输入数字!");
            }
            else 
            { 
            if (int.TryParse(tb1.Text, out op1Int) & int.TryParse(tb2.Text, out op2Int))
            {
                switch (cbOperater.SelectedItem.ToString())
                {
                    case "+": { lblResult.Text = Calc.Add(op1Int, op2Int).ToString(); } break;
                    case "-": { lblResult.Text = Calc.Sub(op1Int, op2Int).ToString(); } break;
                    case "*": { lblResult.Text = Calc.Cheng(op1Int, op2Int).ToString(); } break;
                    case "/": { lblResult.Text = Calc.Chu(op1Int, op2Int).ToString(); } break;
                    default: { MessageBox.Show("请选择合理计算方式"); } break;
                }
            }
            else 
            {
                if (float.TryParse(tb1.Text, out op1Float) & float.TryParse(tb2.Text, out op2Float))
                {
                    switch (cbOperater.SelectedItem.ToString())
                    {
                        case "+": { lblResult.Text = Calc.Add(op1Float, op2Float).ToString(); } break;
                        case "-": { lblResult.Text = Calc.Sub(op1Float, op2Float).ToString(); } break;
                        case "*": { lblResult.Text = Calc.Cheng(op1Float, op2Float).ToString(); } break;
                        case "/": { lblResult.Text = Calc.Chu(op1Float, op2Float).ToString(); } break;
                        default: { MessageBox.Show("请选择合理计算方式"); } break;
                    }
                }
                else 
                {
                    if (double.TryParse(tb1.Text, out op1Double) & double.TryParse(tb2.Text, out op2Double)) 
                    {
                        switch (cbOperater.SelectedItem.ToString())
                        {
                            case "+": { lblResult.Text = Calc.Add(op1Double, op2Double).ToString(); } break;
                            case "-": { lblResult.Text = Calc.Sub(op1Double, op2Double).ToString(); } break;
                            case "*": { lblResult.Text = Calc.Cheng(op1Double, op2Double).ToString(); } break;
                            case "/": { lblResult.Text = Calc.Chu(op1Double, op2Double).ToString(); } break;
                            default: { MessageBox.Show("请选择合理计算方式"); } break;
                        }
                    } 
                    else 
                    {
                            if (decimal.TryParse(tb1.Text, out op1Decimal) & decimal.TryParse(tb2.Text, out op2Decimal))
                            {
                                switch (cbOperater.SelectedItem.ToString())
                                {
                                    case "+": { lblResult.Text = Calc.Add(op1Decimal, op2Decimal).ToString(); } break;
                                    case "-": { lblResult.Text = Calc.Sub(op1Decimal, op2Decimal).ToString(); } break;
                                    case "*": { lblResult.Text = Calc.Cheng(op1Decimal, op2Decimal).ToString(); } break;
                                    case "/": { lblResult.Text = Calc.Chu(op1Decimal, op2Decimal).ToString(); } break;
                                    default: { MessageBox.Show("请选择合理计算方式"); } break;
                                }
                            }
                            else {
                                MessageBox.Show("数据类型不统一!");
                            }
                    }
                }



            }
            }
        }
        private void label1_Click(object sender, EventArgs e)
        {

        }
        private void tb2_TextChanged(object sender, EventArgs e)
        {

        }
        private void cbOperater_SelectedIndexChanged(object sender, EventArgs e)
        {

        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            Random ran = new Random();
        
            tb_show.Text += "恭喜用户"+ ran.Next(100, 999).ToString()+"***"+ ran.Next(100, 999).ToString()+"中奖";
        }
    }
}

posted @ 2022-09-23 17:15  萌狼蓝天  阅读(47)  评论(0编辑  收藏  举报