摘要:使用介面
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
public enum 小客車種類
{
電動車,
汽油車,
}
I小客車 我的車;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
我的車 = 買車(小客車種類.汽油車);
我的車.加速(5);
我的車.方向 = 轉向系統.方向.右轉;
我的車.加速(2);
我的車.方向 = 轉向系統.方向.左轉;
我的車.減速(1);
我的車.方向 = 轉向系統.方向.直行;
我的車.減速(6);
}
public I小客車 買車(小客車種類 喜好)
{
I小客車 新車 = null;
switch (喜好)
{
case 小客車種類.汽油車:
新車 = new 汽油車();
break;
case 小客車種類.電動車:
新車 = new 電動車();
break;
}
return 新車;
}
public interface I小客車
{
void 加速(int 加多少);
void 減速(int 減多少);
轉向系統.方向 方向 { set; }
}
public class 電動車 : I小客車
{
馬達 動力馬達 = new 馬達();
煞車系統 煞車器 = new 煞車系統();
轉向系統 方向盤 = new 轉向系統();
public 轉向系統.方向 方向
{
set { 方向盤.轉彎(value); }
}
public void 加速(int 加多少)
{
煞車器.煞車油壓 = 0;
動力馬達.電壓 += 加多少;
}
public void 減速(int 減多少)
{
動力馬達.電壓 = 0;
煞車器.煞車油壓 -= 減多少;
}
}
public class 汽油車 : I小客車
{
引擎 動力引擎 = new 引擎();
煞車系統 煞車器 = new 煞車系統();
轉向系統 方向盤 = new 轉向系統();
public 轉向系統.方向 方向
{
set { 方向盤.轉彎(value); }
}
public void 加速(int 加多少)
{
煞車器.煞車油壓 = 0;
動力引擎.油門 += 加多少;
}
public void 減速(int 減多少)
{
動力引擎.油門 = 0;
煞車器.煞車油壓 -= 減多少;
}
}
public class 馬達
{
public int 電壓;
}
public class 引擎
{
public int 油門;
}
public class 煞車系統
{
public int 煞車油壓;
}
public class 轉向系統
{
public enum 方向
{
直行,
右轉,
左轉,
}
方向 轉向 = 方向.直行;
public void 轉彎(方向 轉向)
{
switch (轉向)
{
case 轉向系統.方向.直行:
轉向 = 方向.直行;
break;
case 轉向系統.方向.右轉:
轉向 = 方向.右轉;
break;
case 轉向系統.方向.左轉:
轉向 = 方向.左轉;
break;
}
}
}
}
}