C#—— 1.在设备管理系统中,为了统一各种设备的编程规范,需要定义一个设备接口(IDevice),
1.在设备管理系统中,为了统一各种设备的编程规范,需要定义一个设备接口(IDevice),在该接口中描述了有关设备的启动(Start)、停止(Stop)、维修(Mainta)、工作(Run)、检测状态(CheckStatus)等功能或行为。请完成该设备接口的定义。
2.接上题,为了进一步简化各种设备的编程工作量,需要在设备接口基础之上派生出抽象类(Device),该类包含设备编号、名称、使用者姓名、场所、购买日期等信息,但因为无法实现接口,所以必须把接口中的成员再描述为抽象成员。请完成该设备类的定义。
3.接上题,在设备类的基础之上派生出手机类Mobile,实现启动、停止、维修、工作和检测状态功能。请完成手机设备类的定义。
提示只需模拟手机设备的各个功能。
设计界面:
编写代码:
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);
}
}
}
运行结果: