首先,我们需要定义一个统一的耳机接口类,包含耳机的基本功能:

class Earphone {
public:
    virtual void playMusic() = 0;
    virtual void pauseMusic() = 0;
    virtual void stopMusic() = 0;
};

然后,我们需要定义两种不同的耳机接口类,分别是3.5mm接口和2.5mm接口:

class Earphone35mm : public Earphone {
public:
    void playMusic() override {
        // 3.5mm接口的播放音乐操作
    }
    void pauseMusic() override {
        // 3.5mm接口的暂停音乐操作
    }
    void stopMusic() override {
        // 3.5mm接口的停止音乐操作
    }
};

class Earphone25mm : public Earphone {
public:
    void playMusic() override {
        // 2.5mm接口的播放音乐操作
    }
    void pauseMusic() override {
        // 2.5mm接口的暂停音乐操作
    }
    void stopMusic() override {
        // 2.5mm接口的停止音乐操作
    }
};

接下来,我们需要定义一个USB Type-c接口的耳机类,它需要实现Earphone接口,并且需要适配3.5mm接口和2.5mm接口:

class EarphoneTypeC : public Earphone {
private:
    Earphone* earphone;
public:
    EarphoneTypeC(Earphone* earphone) {
        this->earphone = earphone;
    }
    void playMusic() override {
        earphone->playMusic();
    }
    void pauseMusic() override {
        earphone->pauseMusic();
    }
    void stopMusic() override {
        earphone->stopMusic();
    }
};

最后,我们需要定义一个lighting接口的耳机类,它也需要实现Earphone接口,并且需要适配USB Type-c接口:

class EarphoneLighting : public Earphone {
private:
    EarphoneTypeC* earphone;
public:
    EarphoneLighting(EarphoneTypeC* earphone) {
        this->earphone = earphone;
    }
    void playMusic() override {
        earphone->playMusic();
    }
    void pauseMusic() override {
        earphone->pauseMusic();
    }
    void stopMusic() override {
        earphone->stopMusic();
    }
};

这样,我们就完成了耳机接口的转接适配器模式实现。可以根据具体需求,添加更多的耳机接口类和适配器类


原文地址: https://www.cveoy.top/t/topic/hjjC 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录