六大设计原则之OCP
目录
简介
定义
举例
简介
开闭原则(Open Closed Principle),简称OCP。
定义
软件实体应该对扩展开放,对修改关闭。何为软件实体?主要包括项目或软件产品按照一定的逻辑规则划分的模块,抽象,类,方法。实质是通过扩展来实现变化。
举例
一年一度的11又要来了,鸡冻哇。要是平时物品是正常售出,就像这样
public interface IGood {public String getName();public int getPrice();
}public class Good implements IGood {private String name;private int price;public Good(String _name, int _price) {name = _name;price = _price;}public String getName() {return name;}public int getPrice() {()return price;}
}public class soldGoods() {private final static ArrayList<IGood> goodList = new ArrayList<>();static {goodList.add(new Good("牙刷", 3));goodList.add(new Good("薯片", 10));}public static void main(String[] args) {for(IGood good : goodList) {System.out.pirntln(good.getName + ":" + good.getPrice + "元");}}
}
但现在是11呀,打折,锦鲤...
public class offGood extend Good {public offGood(String _name, int _price) {super(_name, _price);}@Overridepublic int getPrice() {int price = super.getPrice();int offPrice = 0;if(price > 100) {offPrice = price*80/100;}else {offPrice = price*70/100;}return offPrice;}
}
这时只需要把主函数中staic内容进行修改即可
static {goodList.add(new offGood("牙刷", 3));goodList.add(new offGood("薯片", 10));
}
六大设计原则之OCP相关推荐
- 设计模式 - 六大设计原则之OCP(开闭原则)
文章目录 概述 Case 接口定义 接口实现 Bad Impl Better Impl 概述 Open-Close Principle 在面向对象编程领域中,开闭原则规定软件中的类.对象.模块和函数对 ...
- 【设计模式学习笔记】1:认识六大设计原则(OCP,LSV,DIP,ISP,LKP,SRP)
[1]开闭原则(Open Close Principle) 简述 对扩展是开放的,对修改是关闭的.即软件应当通过扩展来实现变化,而不是通过修改现有的代码. 理解 Java中的继承extends关键字本 ...
- IOS设计模式的六大设计原则之开放-关闭原则(OCP,Open-Close Principle)
定义 一个软件实体(如类.模块.函数)应当对扩展开放,对修改关闭. 定义解读 在项目开发的时候,都不能指望需求是确定不变化的,大部分情况下,需求是变化的.那么如何应对需求变化的情况?这就是开放-关闭原 ...
- [转] 设计模式的六大设计原则
转载说明: 感谢原作者吕震宇老师的分享. 原文参考链接:https://www.cnblogs.com/zhenyulu/category/6930.html? 本次转载只用于个人学习使用,并不涉及商 ...
- 【0718作业】收集和整理面向对象的六大设计原则
面向对象的六大设计原则 (1)单一职责原则--SRP (2)开闭原则--OCP (3)里式替换原则--LSP (4)依赖倒置原则--DIP (5)接口隔离原则--ISP (6)迪米特原则--LOD - ...
- JAVA六大设计原则 和 23种设计模式
相关书籍:<大话设计模式>.<Java设计模式>.<设计模式之禅>.<研磨设计模式>.<Head First 设计模式> JAVA六大设计原 ...
- 设计模式之六大设计原则【入门】
设计模式之六大设计原则 1 开闭原则 Open Closed Principle,OCP 1.1 概念 1.2 软件实体 1.3 开闭原则的作用 2. 单一职责原则 Single responsibi ...
- 设计模式的六大设计原则
设计模式的六大设计原则 1. 开闭原则 1.1 开闭原则:Open Closed Principle,OCP 1.2 开闭原则的作用 2. 单一责任原则 2.1 单一职责原则:Single respo ...
- 面向对象六大设计原则上
@TOC面向对象六大设计原则 最近准备java面试,发现SSM框架里蛮多知识点,比如Spring中IOC,DI来源于面向对象的六大原则,了解六大原则有助于更深入理解java的设计原理.网上资料很多,整 ...
最新文章
- linux后台执行命令:amp;与nohup的用法
- linux ssh非交互脚本,sshpass实现shell脚本非交互密码验证
- Mysql用户访问工作原理
- struts2 action中result参数详解
- MySQL中Join算法实现原理通俗易懂
- STL模板整理 priority_queue
- centOS7查看防火墙状态
- int转字符串_python3基础01数值和字符串(一)
- spring源码:注册后置处理器
- 发那科机器人注油_东莞发那科工业机器人维保中心
- 单片机 STC8H1K08-36I TSSOP20 - 低压检测
- Vue中阿里图标的使用
- Excel成神之道-005-用countif统计客人第几次进店
- 电子密码锁程序C语言,基于C语言STC89C52单片机电子密码锁的系统设计与仿真
- JDK8中Lambda 表达式语法糖脱糖[非原创]
- Elesticsearch(es)聚合搜索(入门到精通)4
- Linux使用tar命令进行磁带备份
- 数学建模论文写作学习——数模论文概述
- mysql查询带序列号
- matlab多元方程整数解,matlab多元非线性方程组解法