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

简介: 【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

q1.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()+"中奖";
        }
    }
}


相关文章
|
2月前
|
存储 安全 编译器
《C#程序设计》期末大作业复习答案
《C#程序设计》期末大作业复习答案
【C#】【平时作业】习题-2-数据类型运算符表达式
【C#】【平时作业】习题-2-数据类型运算符表达式
75 0
【C#】【平时作业】习题-2-数据类型运算符表达式
【C#】【平时作业】习题-8-异常处理
【C#】【平时作业】习题-8-异常处理
65 0
【C#】【平时作业】习题-8-异常处理
|
存储 SQL 开发框架
【C#】【平时作业】习题-11-ADO.NET
【C#】【平时作业】习题-11-ADO.NET
101 0
【C#】【平时作业】习题-11-ADO.NET
|
存储 SQL 开发框架
【C#】【平时作业】习题-11-ADO.NET
【C#】【平时作业】习题-11-ADO.NET
69 0
【C#】【平时作业】习题-11-ADO.NET
【C#】【平时作业】习题-9-接口
【C#】【平时作业】习题-9-接口
77 0
【C#】【平时作业】习题-9-接口
|
存储 编译器 C#
【C#】【平时作业】习题-13-数据类型
【C#】【平时作业】习题-13-数据类型
90 0
【C#】【平时作业】习题-12-事件
【C#】【平时作业】习题-12-事件
78 0
|
自然语言处理 C# C++
【C#】【平时作业】习题-10-委托
【C#】【平时作业】习题-10-委托
89 0
|
2月前
|
开发框架 前端开发 .NET
C#编程与Web开发
【4月更文挑战第21天】本文探讨了C#在Web开发中的应用,包括使用ASP.NET框架、MVC模式、Web API和Entity Framework。C#作为.NET框架的主要语言,结合这些工具,能创建动态、高效的Web应用。实际案例涉及企业级应用、电子商务和社交媒体平台。尽管面临竞争和挑战,但C#在Web开发领域的前景将持续拓展。