让我们使用简单的代码来实现这个场景: package org.zero01.system; public class CPU { public void turnOn() {...System.out.println("CPU-关"); } } package org.zero01.system; public class GPU { public void turnOn...(); gpu.turnOn(); memory.turnOn(); disk.turnOn(); cpu.turnOff();...() { System.out.println("\n开机-------------"); cpu.turnOn(); gpu.turnOn();...memory.turnOn(); disk.turnOn(); } public void turnOff() { System.out.println
(); } MacBookPro public class MacBookPro extends BaseComputer { @Override protected void turnOn..."); } } ThinkPad public class ThinkPad extends BaseComputer { @Override protected void turnOn...(); BaseComputer thinkPad = ComputerFactory.create("thinkPad"); thinkPad.turnOn();...BaseComputer dell = ComputerFactory.create("dell"); dell.turnOn(); } } 测试结果 MacBook...(); BaseComputer dell = ComputerFactory.create("simple.factory.Dell"); dell.turnOn()
,代码如下: /// /// 设备 /// public interface IDevices { void TurnOn... /// 电灯 /// public class Light : IDevices { public void TurnOn...Switch (IDevices devices) { this.devices =devices ; } public void TurnOn...() { Console.WriteLine("打开开关"); devices.TurnOn(); } public...string[] args) { IDevices _switch = new Switch(new Light()); _switch.TurnOn
public abstract class Television { public abstract void TurnOn(); public abstract void TurnOff...(); public abstract void TurnChannel(); } 电视机基Television类,包含打开电视TurnOn、关闭电视TurnOff、换台功能TurnChannel...public class Konka : Television { public override void TurnOn() { Console.WriteLine("Turn...public class Lenovo : Television { public override void TurnOn() { Console.WriteLine("Turn...public class Panasonic : Television { public override void TurnOn() { Console.WriteLine(
if(fan.isOn()){ fan.turnOff(); } else { fan.turnOn...private boolean isOn = false; // constructor, getters and setters public void turnOn...() { powerSupplier.turnOn(); isOn = true; } public void...if (fan.isOn()) { fan.turnOff(); } else { fan.turnOn...(); } } public void start() { powerSupplier.turnOn();
首先,定义实现层接口: go type Device interface { TurnOn() TurnOff() } 然后,定义两个具体的设备实现: go type TV struct...{ // TV特有的属性和方法 } func (tv *TV) TurnOn() { // 实现开机逻辑 } func (tv *TV) TurnOff() { // 实现关机逻辑...} type AirConditioner struct { // 空调特有的属性和方法 } func (ac *AirConditioner) TurnOn() { // 实现开机逻辑...实现关机逻辑 } 接着,定义抽象层和扩展抽象层: go type RemoteControl struct { device Device } func (rc *RemoteControl) TurnOn...() { rc.device.TurnOn() } func (rc *RemoteControl) TurnOff() { rc.device.TurnOff() } 在这个例子中
; public static AirConditioner getInstance() { return instance; } public void turnOn...new Sound(); public static Sound getInstance() { return instance; } public void turnOn...sound = Sound.getInstance(); System.out.println("=====开启的过程====="); airConditioner.turnOn...(); dvdPlayer.turnOn(); sound.turnOn(); System.out.println("=====关闭的过程====="...() { airConditioner.turnOn(); dvdPlayer.turnOn(); sound.turnOn(); }
(); } MacBookPro public class MacBookPro extends BaseComputer { @Override protected void turnOn...); } } ThinkPad public class ThinkPad extends BaseComputer { @Override protected void turnOn...(); BaseComputer thinkPad = ComputerFactory.create("thinkPad"); thinkPad.turnOn();...BaseComputer dell = ComputerFactory.create("dell"); dell.turnOn(); } } 测试结果 MacBook...(); BaseComputer dell = ComputerFactory.create("simple.factory.Dell"); dell.turnOn()
this.state = state; } // 这里状态只有两种,若情况较多则会臃肿难以维护 public void handle() { if ("TurnOn...implements State { @Override public void handle(Context context) { System.out.println("当前状态 TurnOn...TurnOffState turnOffState = new TurnOffState(); turnOffState.handle(context); } } // 当前状态 TurnOn
public static void main(String[] args) { // TODO Auto-generated method stub camera1.turnOn...(); camera2.turnOn(); light1.turnOn(); light2.turnOn(); light3.turnOn...rotating the camera by" + degrees + " degrees."); } } Light public class Light { public void turnOn...private Sensor sensor; private Alarm alarm; public void activate(){ camera1.turnOn...(); camera2.turnOn(); light1.turnOn(); light2.turnOn(); light3.turnOn
系统需要将一组操作组合在一起,即支持宏命令 实现 // 假设我们有一个电灯,我们使用遥控器对其进行控制 class Bulb { turnOn() { console.log(...constructor(bulb) { super(); this.bulb = bulb; } execute() { this.bulb.turnOn...; } execute() { this.bulb.turnOff(); } undo() { this.bulb.turnOn...submit(command) { command.execute(); } } (function(){ var bulb = new Bulb(); var turnOn...var turnOff = new TurnOffCommand(bulb); var remote = new RemoteControl(); remote.submit(turnOn
定义一个控制开关接口 /** * 开关接口 * @author Jensen * @date 2024-01-24 * */ public interface Switch { void turnOn...@date 2024-01-24 * */ public class ComputerImpl implements Switch { @Override public void turnOn...Jensen * @date 2024-01-24 * */ public class Phone implements Switch { @Override public void turnOn...Switch aSwitch) { super(aSwitch); } @Override public void On() { aSwitch.turnOn
LightControl lightControl = new LightControl(cloud); // 手机远程控制灯光 lightControl.turnOn...; public LightControl(CloudService cloud) { this.cloud = cloud; } public void turnOn...- 示例代码:使用云计算支持的虚拟现实应用 --> 云计算驱动的虚拟现实 <script src="vr_library.<em>js</em>
摘要 Ruff 是为那些懂 JS 而不懂嵌入式开发,又希望可以最快速实现自己创意设计的创客们服务的。...可能对于做 JS 的人来说,内存管理是稀松平常的事,但这却是 C 和 C++ 的程序员永远的痛点。 应用开发过程中需要提供一个很好的测试框架去完成相关工作。...面向应用的抽象 $( ‘#light’ ).turnOn( ); 传统方式 GPIO.output(11,GPIO.HIGH) 应用抽象 led.turnOn( ); 抽象级别 一个 IoT 开发平台能做到的面向应用的抽象
void flip() { if (bulb.getState()) { bulb.turnOff(); } else { bulb.turnOn...(); } } } class LightBulb { private boolean state; public void turnOn() {...interface Switchable { void turnOn(); void turnOff(); boolean getState(); } class Switch...flip() { if (device.getState()) { device.turnOff(); } else { device.turnOn...class LightBulb implements Switchable { private boolean state; @Override public void turnOn
turnOn(int, String) 对指定的灯创建指定效果的一次性闪烁。 turnOn(int, LightEffect) 对指定的灯创建自定义效果的一次性闪烁。...turnOn(String) 对指定的灯创建指定效果的一次性闪烁。 turnOn(LightEffect) 对指定的灯创建自定义效果的一次性闪烁。 turnOff(int) 关闭指定的灯。...lightId, LightEffect.LIGHT_ID_KEYBOARD); // 创建指定效果的一次性闪烁 boolean turnOnResult = lightAgent.turnOn...lightEffect = new LightEffect(lightBrightness, 1000, 1000); boolean turnOnEffectResult = lightAgent.turnOn
include #include using namespace std; //Product class Light { public: virtual void TurnOn...() = 0; virtual void TurnOff() = 0; }; class BlueLight : public Light { public: void TurnOn() ... cout << "Turn off BlueLight." << endl; } }; class RedLight : public Light { public: void TurnOn...= new BlueLightFactory; Light *pBlueLight = pBlueLightFactory->CreateLight(); pBlueLight->TurnOn
3 interface SpeakHello 4 { 5 void speak(); 6 } 7 class HelloMachine 8 { 9 public void turnon...void main(String args[]) 17 { 18 HelloMachine machine =new HelloMachine(); 19 machine.turnon...; 22 } 23 } 24 ); 25 machine.turnon( new SpeakHello() 26 { 27 public
Demo1:模拟计算机的集成 #include #include //subSystem class Monitor { public: void turnOn...Keyboard keyboard; CPU cpu; public: Computer() {} void turnOnAndStart() { monitor.turnOn...cout << "Engine stopped" << std::endl; } }; // Subsystem 2 class Lights { public: void TurnOn...lights; public: void StartCar() { engine.Start(); lights.TurnOn
BaseCompute public abstract class BaseComputer { /** * 开机 */ protected abstract void turnOn...(); } MacBookPro public class MacBookPro extends BaseComputer { @Override public void turnOn...开机了"); } } ThinkPad public class ThinkPad extends BaseComputer { @Override public void turnOn...appleFactory = new AppleFactory(); MacBookPro macBookPro = appleFactory.create(); macBookPro.turnOn...lenovoFactory = new LenovoFactory(); ThinkPad thinkPad = lenovoFactory.create(); thinkPad.turnOn
领取专属 10元无门槛券
手把手带您无忧上云