外观模式

软件设计                  石家庄铁道大学信息学院

 

实验12:外观模式

本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:

1、理解外观模式的动机,掌握该模式的结构;

2、能够利用外观模式解决实际问题

 

[实验任务一]:计算机开启

在计算机主机(Mainframe)中,只需要按下主机的开机按钮(on()),即可调用其他硬件设备和软件的启动方法 ,如内存(Memory)的自检(check())、CPU的运行(run())、硬盘(HardDisk)的读取(read())、操作系统(OS)的载入(load()),如果某一过程发生错误则计算机启动失败。

实验要求:

1. 提交类图;

 

 

 

2.提交源代码;

 

 

 

 

3.注意编程规范。

 

 

 

package test12;
public class MainFrame {
      public Memory memory  = new Memory();
      
        private CPU cpu = new CPU();
     
        private HardDisk hardDisk = new HardDisk();
     
        private OS os = new OS();
     
     
     
        public void on(){
     
            memory.check();
     
            cpu.run();
     
            hardDisk.read();
     
            os.load();
     
        }
    
}
package test12;
public class Client {
    public static void main(String[] args) {
        MainFrame mainframe = new MainFrame();
     mainframe.on();
    }
}
 
package test12;
public class CPU {
        public boolean run(){
            System.out.println("CPU自动成功");
            return true;
    }
} 
package test12;
public class HardDisk {
    public boolean read(){
        System.out.println("硬盘读入成功");
        return true;
    }
} 
package test12;
public class Memory {
    public boolean check(){
        System.out.println("内存检查成功");
        return true;
    }
} 
package test12;
public class OS {
    public boolean load(){
        System.out.println("操作系统载入成功");
        return true;
    }
}
#include<iostream>
using namespace std;
class Memory {
public:
    bool check() {
        cout<<"内存检查成功"<<endl;
        return 1;
    }
};
class Cpu {
public:
    bool run() {
        cout<<"CPU运行正常"<<endl;
        return 1;
    }
};
class HardDisk {
public:
    bool read() {
        cout<<"硬盘读入成功"<<endl;
        return 1;
    }
};
class OS {
public:
    bool load() {
        cout<<"操作系统载入正常"<<endl;
        return 1;
    }

};
class MainFrame {
private:
    Memory memory;
    Cpu cpu;
    HardDisk hd;
    OS os;
public:
    MainFrame(){}
    void start() {
        if(memory.check()&&cpu.run()&&hd.read()&&os.load()){
            cout<<"*****电脑启动成功*****"<<endl;
        }else{
            cout<<"电脑启动失败"<<endl;
        }
    }
};

int main()
{
    MainFrame mf;
    mf.start();
}

 

 

posted @ 2022-12-23 16:47  zrswheart  阅读(41)  评论(0编辑  收藏  举报