C#—— 1.在设备管理系统中,为了统一各种设备的编程规范,需要定义一个设备接口(IDevice),

1.在设备管理系统中,为了统一各种设备的编程规范,需要定义一个设备接口(IDevice),在该接口中描述了有关设备的启动(Start)、停止(Stop)、维修(Mainta)、工作(Run)、检测状态(CheckStatus)等功能或行为。请完成该设备接口的定义。

2.接上题,为了进一步简化各种设备的编程工作量,需要在设备接口基础之上派生出抽象类(Device),该类包含设备编号、名称、使用者姓名、场所、购买日期等信息,但因为无法实现接口,所以必须把接口中的成员再描述为抽象成员。请完成该设备类的定义。

3.接上题,在设备类的基础之上派生出手机类Mobile,实现启动、停止、维修、工作和检测状态功能。请完成手机设备类的定义。

提示只需模拟手机设备的各个功能。

 

设计界面:

C#—— 1.在设备管理系统中,为了统一各种设备的编程规范,需要定义一个设备接口(IDevice),

编写代码:

 

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

namespace 设备管理
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            label1.Text = "";
        }
        //4工作
        private void button4_Click(object sender, EventArgs e)
        {
            if (textBox1.Text.Trim() == "" || textBox2.Text.Trim() == "" || textBox3.Text.Trim() == "" || textBox4.Text.Trim() == "" || textBox5.Text.Trim() == "")
            {
                MessageBox.Show("请输入完整的设备信息!!!");
            }
            else
            {
                Mobile m = new Mobile();
                label1.Text = m.call(textBox1.Text, textBox2.Text, textBox3.Text, textBox4.Text, textBox5.Text);
                if (m is IDevice)
                {
                    IDevice id = (IDevice)m;
                    label1.Text += id.Run();
                }
                textBox1.Text = "";
                textBox2.Text = "";
                textBox3.Text = "";
                textBox4.Text = "";
                textBox5.Text = "";
            }
        }
        //1启动
        private void button1_Click(object sender, EventArgs e)
        {
            if (textBox1.Text.Trim() == "" || textBox2.Text.Trim() == "" || textBox3.Text.Trim() == "" || textBox4.Text.Trim() == "" || textBox5.Text.Trim() == "")
            {
                MessageBox.Show("请输入完整的设备信息!!!");
            }
            else 
            {
                Mobile m = new Mobile();
                label1.Text = m.call(textBox1.Text, textBox2.Text, textBox3.Text, textBox4.Text, textBox5.Text);
                if (m is IDevice)
                {
                    IDevice id = (IDevice)m;
                    label1.Text += id.Start();
                }   
            }                  
            textBox1.Text = "";
            textBox2.Text = "";
            textBox3.Text = "";
            textBox4.Text = "";
            textBox5.Text = "";
        }
        //2停止
        private void button2_Click(object sender, EventArgs e)
        {
            if (textBox1.Text.Trim() == "" || textBox2.Text.Trim() == "" || textBox3.Text.Trim() == "" || textBox4.Text.Trim() == "" || textBox5.Text.Trim() == "")
            {
                MessageBox.Show("请输入完整的设备信息!!!");
            }
            else
            {
                Mobile m = new Mobile();
                label1.Text = m.call(textBox1.Text, textBox2.Text, textBox3.Text, textBox4.Text, textBox5.Text);
                if (m is IDevice)
                {
                    IDevice id = (IDevice)m;
                    label1.Text += id.Stop();
                }
                textBox1.Text = "";
                textBox2.Text = "";
                textBox3.Text = "";
                textBox4.Text = "";
                textBox5.Text = "";
            }
        }
        //3维修
        private void button3_Click(object sender, EventArgs e)
        {
            if (textBox1.Text.Trim() == "" || textBox2.Text.Trim() == "" || textBox3.Text.Trim() == "" || textBox4.Text.Trim() == "" || textBox5.Text.Trim() == "")
            {
                MessageBox.Show("请输入完整的设备信息!!!");
            }
            else
            {
                Mobile m = new Mobile();
                label1.Text = m.call(textBox1.Text, textBox2.Text, textBox3.Text, textBox4.Text, textBox5.Text);
                if (m is IDevice)
                {
                    IDevice id = (IDevice)m;
                    label1.Text += id.Maintail();
                }
            }
                textBox1.Text = "";
                textBox2.Text = "";
                textBox3.Text = "";
                textBox4.Text = "";
                textBox5.Text = "";           
        }
        //5检测
        private void button5_Click(object sender, EventArgs e)
        {
            if (textBox1.Text.Trim() == "" || textBox2.Text.Trim() == "" || textBox3.Text.Trim() == "" || textBox4.Text.Trim() == "" || textBox5.Text.Trim() == "")
            {
                MessageBox.Show("请输入完整的设备信息!!!");
            }
            else
            {
                Mobile m = new Mobile();
                label1.Text = m.call(textBox1.Text, textBox2.Text, textBox3.Text, textBox4.Text, textBox5.Text);
                if (m is IDevice)
                {
                    IDevice id = (IDevice)m;
                    label1.Text += id.CheckStatus();
                }
            }
            textBox1.Text = "";
            textBox2.Text = "";
            textBox3.Text = "";
            textBox4.Text = "";
            textBox5.Text = "";
        }

    }
        //定义接口
        interface IDevice
        {
            string Start();
            string Stop();
            string Maintail();
            string Run();
            string CheckStatus();
        }
        //抽象类
        public abstract class Device:IDevice
        {
           public abstract string call(string sno, string name, string user, string place, string date);
           public abstract string Start();
           public abstract string Stop();
           public abstract string Maintail();
           public abstract string Run();
           public abstract string CheckStatus();
        }
        //手机类
        public class Mobile : Device
        {
            public string sno;
            public string name;
            public string user;
            public string place;
            public string date;
            public override string Start()
            {
                return "已经启动";
            }
            public override string Stop()
            {
                return "已经停止";
            }
            public override string Maintail()
            {
                return "正在维修中...";
            }
            public override string Run()
            {
                return string.Format("正在运行...");
            }
            public override string CheckStatus()
            {
                return "正在检测...";
            }
            public override string call(string sno, string name, string user, string place, string date)
            {
                return string.Format("参数如下的手机\n编号:{0}\n名称:{1}\n使用者姓名:{2}\n场所:{3}\n购买日期:{4}\n.", sno, name, user, place, date);
            }
        }
    }

运行结果:

C#—— 1.在设备管理系统中,为了统一各种设备的编程规范,需要定义一个设备接口(IDevice),