java open course_关于开闭原则 JavaDiscountCourse 类的设计
亲爱的同学,你好,我是geely老师的助教。
你这样挺不错的。和老师的设计有不同的思路,赞。我再修改一下,看看能不能还有不一样的想法。public class DiscountCourse implements ICourse{
private ICourse course;
//折扣
private double discount;
public JavaDiscountCourse(ICourse course, double discount) {
this.course = course;
this.discount = discount;
}
@Override
public String getName() {
return this.course.getName();
}
@Override
public double getPrice() {
return this.course.getPrice() * this.discount;
}
public double getOriginPrice() {
return this.course.getPrice();
}
}
java open course_关于开闭原则 JavaDiscountCourse 类的设计相关推荐
- 面向对象软件设计原则【JAVA】(开闭原则、里氏代换、依赖倒转、接口隔离、迪米特法则、合成复用原则)
软件设计原则[JAVA](开闭原则.里氏代换.依赖倒转.接口隔离.迪米特法则.合成复用原则) 1.开闭原则 2.里氏代换原则 3.依赖倒转原则 4.接口隔离原则 5.迪米特法则 6.合成复用原则 1. ...
- 关于Java面向对象程序设计原则之一——开闭原则的思考与分享
整理日期:2022-05-27 目录 一.开闭原则 二.为什么使用开闭原则 三.如何在程序设计中体现开闭原则 一.开闭原则 开闭原则(Open-Closed Principle, OCP)是指一个软件 ...
- 设计原则 - 开闭原则
目录 概念 实例 代码实例 需求变更 开闭原则的实现 源码 概念 开闭原则的定义:Open-Closed Principle,OCP,一个软件实体应当对扩展开放,对修改关闭. 开闭原则的中心思想:用抽 ...
- 01.开闭原则 Open-Closed Principle
1.定义 指一个软件实体如类.模块和函数应该 对扩展开放,对修改关闭.所谓的开闭,也正是对扩展和修改两个行为的一个原则.强 调的是用抽象构建框架,用实现扩展细节. 2.介绍 开闭原则,是面向对象设计中 ...
- java开闭原则 例子_解析Java编程中设计模式的开闭原则的运用
开闭原则(Open Closed Principle)是Java世界里最基础的设计原则,它指导我们如何建立一个稳定的.灵活的系统. 定义: 一个软件实体如类.模块和函数应该对扩展开放,对修改关闭. S ...
- java设计模式之设计原则①开闭原则
定义:一个软件实体如类.模块和函数应该对扩展开放,对修改关闭. 强调的是用抽象构建框架,用实现扩展细节. 优点:提高软件系统的可复用性及可维护性 例如: 创建一个Course接口 获取id方法 获取n ...
- java开闭原则代码实现_如何提高你的代码设计能力?
前段时间零零碎碎把设计模式梳理了一遍,这个想法的初衷是基于JDK15的发布,阅读一些源码,一些设计很熟悉但是总是想不起是什么设计模式! 我们日常开发或者在做底层架构设计时,更应该留意和关注代码层面还有 ...
- java开闭原则实现代码_向对象的六大原则
前言 我们都知道面向对象有六大原则,23种设计模式.它们可以指导我们如何写出更加优秀的代码.六大原则是基础,我们面向对象编程应该尽量遵从这六大原则,才能写出优秀的代码. 23种设计模式是前人为我们总结 ...
- Java设计模式之开闭原则(Open-Closed Principle)
Software entities like classes, modules and functions should be open for extension but closed for mo ...
最新文章
- DevicePass-through及网卡的直接分配在Xen里面的实现
- Agile Controller产品概述
- java 自定义注解
- undefined control sequence_GeForce NOW在KDDI的帮助下提供服务:《Control》加入游戏库
- 两种AIDL用法分析(原)
- BZOJ 1047: [HAOI2007]理想的正方形 单调队列瞎搞
- Apache Thrift快速入门教程
- 深圳市南山区学计算机的视频课程,新手学电脑全套视频教程(1-27集)
- centos安装apache+mysql_CentOS7安装apache+mysql+php环境
- Win10如何彻底关闭Hyper-V(真实可用,本人亲测)
- 两个经纬度偏角_怎么根据两个经纬度计算出航向
- Lenovo(IBM) 使用BoMC工具制作微码升级U盘刷新System x系列
- Google(谷歌)走了我们该用什么呢?
- 2009年7月最新的精辟句子和2009最贫嘴的15句话
- 使用隐马尔科夫模型实现分词
- [面向对象程序设计] 汽车租赁系统(Java实现)
- 【今日CV 计算机视觉论文速览 第140期】Wed, 3 Jul 2019
- RBF架构下如何解析路径
- V-Ray 2.00.02 最新中文汉化版下载,适用于3dsmax 9.0/2008/2009/2010/2011所有版本, 中文v ray下载
- APP、小程序、H5
热门文章
- 北大文科生能选计算机专业么,文科计算机基础和文科计算机专题
- java换行符分隔字符串_Java 实例 – 字符串分隔(StringTokenizer) | 菜鸟教程
- 03.Python基础--控制流语句-顺序结构-判断结构-循环语句
- Arrays.sort()方法
- 热释电传感器三个引脚_Adafruit的树莓派教程:热释电传感器感知运动
- centos7 安装git_Gitlab安装及使用
- c语言让数组地址对齐,C语言实现比特位数组在目标空间左右居中对齐三种方式...
- go编译成c语言,Go语言是怎么完成编译的
- Codeforces Round #623 (Div. 2, based on VK Cup 2019-2020 - Elimination Round, Engine) A Dead Pixel
- redis过期策略和淘汰机制你知道多少?