概述
首先创建一个教程接口ICourse,代码如下:
public interface ICourse {
Integer getId();
String getName();
Double getPrice();
}
下面创建一个java教程的类javaCourse
public class JavaCourse implements ICourse {
private Integer id;
private String name;
private Double price;
public JavaCourse(Integer id, String name, Double price) {
this.id = id;
this.name = name;
this.price = price;
}
@Override
public Integer getId() {
return this.id;
}
@Override
public String getName() {
return this.name;
}
@Override
public Double getPrice() {
return this.price;
}
}
现在要给java教程做活动,价格优惠。如果修改javacourse类的getPrice()方法,则会存在一定防线,可能影响到其他地方的调用结果。
那么如果在不修改原有代码的前提下,实现价格优惠这个功能呢?我们可以添加一个处理优惠逻辑的类,即javaDiscountCourse类,代码如下
public class JavaDiscountCourse extends JavaCourse {
public JavaDiscountCourse(Integer id, String name, Double price) {
super(id, name, price);
}
public Double getOriginPrice() {
return super.getPrice();
}
public Double getPrice() {
return super.getPrice() * 0.8;
}
}
最后
以上就是过时盼望为你收集整理的使用开闭原则解决实际问题的全部内容,希望文章能够帮你解决使用开闭原则解决实际问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复