设计模式之禅-里氏替换原则
来源:互联网 发布:淘宝页面布局怎么设置 编辑:程序博客网 时间:2024/05/18 20:13
设计模式之禅-里氏替换原则
一 简介
里氏替换原则的核心就是:父类存在的地方子类也能存在,但是子类存在的地方父类不一定能存在。
这个原则通常与依赖倒置原则一同使用,实现一种”面向接口编程,非面向实现编程“的思想。
二 代码介绍(C/C++):
1.创建一个抽象类枪支,提供射击方法接口。
class AbstractGun {public: /*射击*/ virtual void shoot() = 0;};
2.继承抽象基类实现3个具体的枪支类别
/*手枪*/class HandGun : public AbstractGun {public: void shoot() override { cout << "HandGun Shoot..." << endl; }};
/*步枪*/class RifleGun : public AbstractGun {public: void shoot() override { cout << "RifleGun Shoot..." << endl; }};
/*机关枪*/class MachineGun : public AbstractGun {public: void shoot() override { cout << "MachineGun Shoot..." << endl; }};
3.提供一个士兵类来操作枪支
class Soldier {private: /*类的组合*/ AbstractGun* p_gun;public: /*为这个士兵设置使用的枪支类型,使用的是基类的接口作为参数*/ void setGun(AbstractGun* gun) { this->p_gun = gun; } /*士兵开始杀敌人*/ void killEnemy() { cout << "Soldier start shoot..." << endl; p_gun->shoot(); }};
**4.**main来测试
int main() { Soldier* s = new Soldier; s->setGun(new HandGun);//传递子类的实现 //s->setGun(new RifleGun);//传递子类的实现 //s->setGun(new MachineGun);//传递子类的实现 s->killEnemy(); return 0;}
5.测试结果
HandGun:
RifleGun:
MachineGun:
6.本次资料
https://yunpan.cn/cSe29jNSzEDcn 访问密码 b263
0 0
- 设计模式之禅-里氏替换原则
- 设计模式 之里氏替换原则
- 设计模式 之 里氏替换原则 C++
- 设计模式之里氏替换原则
- 里氏替换原则--设计模式之禅读书笔记
- [设计模式之禅笔记] 2. 里氏替换原则
- 设计模式之设计原则-里氏替换原则
- [设计模式]面向对象设计原则之里氏替换原则
- 【设计模式】里氏替换原则
- 设计模式---->里氏替换原则
- 设计模式:里氏替换原则
- 设计模式--里氏替换原则
- 设计模式6大原则之里氏替换原则
- 设计模式六大原则之里氏替换原则
- 设计模式六大原则之(二)---里氏替换原则
- 设计模式六大原则之〈里氏替换原则〉
- 设计模式之6大原则(2)-里氏替换原则
- 设计模式6大原则之-里氏替换原则
- (转)Android侧滑菜单DrawerLayout的使用
- Hyper-V网络配置
- SSM之创建一个Maven工程
- 决策树
- jdk annotation发布webservice服务 及生成客户端调用代码
- 设计模式之禅-里氏替换原则
- Java学习笔记之自动装箱与拆箱
- hdu1710 Binary Tree Traversals ----- 二叉树前序中序推后序
- linux初学笔记
- C基础规则
- 图像的中值滤波
- Android禁止旋转屏幕
- lucene学习
- Android通用流行框架大全