当前位置: 首页 > news >正文

mui做网站的好处网站建设 好牛

mui做网站的好处,网站建设 好牛,室内设计装修图,微信小程序官网登陆对象的继承关系是在编译时就定义好了,所以无法在运行时改变从父类继承的实现。子类的实现与它的父类有非常紧密的依赖关系,以至于父类实现中的任何变化必然会导致子类发生变化。当你需要复用子类时,如果继承下来的实现不适合解决新的问题&…

对象的继承关系是在编译时就定义好了,所以无法在运行时改变从父类继承的实现。子类的实现与它的父类有非常紧密的依赖关系,以至于父类实现中的任何变化必然会导致子类发生变化。当你需要复用子类时,如果继承下来的实现不适合解决新的问题,则父类必须重写或被其他更适合的类替换。这种依赖顾关系限制了灵活性并最终限制了复用性[DP]。
合成/聚合复用原则(CARP),尽量使用合成/集合,尽量不要使用类继承。

**桥接模式(Bridge):**将抽象部分与它的实现部分分离,使它们都可以独立地变化。
在这里插入图片描述
AbstractionImp.h

#ifndef ABSTRACTIONIMP_H
#define ABSTRACTIONIMP_Hclass AbstractionImp {
public:virtual ~AbstractionImp() = default;virtual void Operation();AbstractionImp() = default;
};class ConcretetAbstractionImpA : public AbstractionImp {
public:ConcretetAbstractionImpA() = default;~ConcretetAbstractionImpA() override = default;void Operation() override;
};class ConcretetAbstractionImpB : public AbstractionImp {
public:ConcretetAbstractionImpB() = default;~ConcretetAbstractionImpB() override = default;void Operation() override;
};#endif //ABSTRACTIONIMP_H

AbstractionImp.cpp

#include <iostream>
#include "AbstractionImp.h"using namespace std;void AbstractionImp::Operation() {cout << "AbstractionImp....imp..." << endl;
}void ConcretetAbstractionImpA::Operation() {cout << "ConcreteAbstractionImpA...." << endl;
}void ConcretetAbstractionImpB::Operation() {cout << "ConcreteAbstractionImpB...." << endl;
}

Abstraction.h

#ifndef ABSTRACTION_H
#define ABSTRACTION_H#include "AbstractionImp.h"class Abstraction {
public:virtual ~Abstraction();virtual void Operation() = 0;
protected:Abstraction();
};class RefinedAbstraction : public Abstraction {
public:explicit RefinedAbstraction(AbstractionImp *imp);~RefinedAbstraction() override;void Operation() override;
protected:AbstractionImp *_imp;
};
#endif //ABSTRACTION_H

Abstraction.cpp

#include "abstraction.h"Abstraction::~Abstraction() = default;Abstraction::Abstraction() = default;RefinedAbstraction::RefinedAbstraction(AbstractionImp *imp) {_imp = imp;
}RefinedAbstraction::~RefinedAbstraction() = default;void RefinedAbstraction::Operation() {_imp->Operation();
}

main.cpp

#include <iostream>
#include "Abstraction.h"
#include "AbstractionImp.h"using namespace std;int main() {AbstractionImp *imp = new ConcretetAbstractionImpA();Abstraction *abs = new RefinedAbstraction(imp);abs->Operation();return 0;
}
http://www.yayakq.cn/news/879846/

相关文章:

  • 网站开发首选畅扬科技建一个信息 类网站
  • 做网站的用途做网站用备案吗
  • 企业免费建站信息中心加强网站建设
  • 建筑八大员证报考网站wordpress生成xml地图
  • 株洲做网站优化c .net网站开发
  • 可以免费打开网站的软件下载杭州自助建站模板下载
  • 建立网站后怎么维护房产网站关键词优化
  • 长春做网站公司哪家好天猫网上购物商城
  • 为你做的网站做全屏式网站尺寸是多大
  • 基本网站建设技术南京设计网站的公司
  • 东莞网站推广春wordpress flat
  • 济南网站建设多少费用外国人做的购物网站
  • 天水建设网站如何查询个人名下企业
  • 企业网站策划案模板东营网站制作团队
  • 企业网站模板专业网wordpress 婚恋
  • seo扣费系统源码诊断网站seo现状的方法
  • 黔西做网站北京网站制作外包
  • 学习网站开发体会与感想在线小游戏网页版
  • 做试试彩网站成都代运营公司
  • 深圳微商城网站制作网站和app软件制作公司
  • 安徽水安建设集团网站专业的建站公司服务
  • 青岛房产网查询东莞网站关键词优化排名
  • 网站集群建设和网站集约化网站做外链好嘛
  • 建设网站要注意什么问题开发手机网站多少钱
  • 信息网站建设网站的访问速度和什么有关系
  • 网页制作ppt教学课件如何搭建 seo网站
  • 网站建设教学廊坊什么是小程序商城
  • 品牌网站制作网站公司wordpress主题免费和付费
  • 好用的网站建设工具福州嵌入式培训
  • 建设银行网站卡死wordpress导出用户