转载

七大软件设计原则

定义:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。用抽象构建架构,用实现扩展细节
优点:提高软件系统的可复用性及可维护性
核心思想:面向抽象编程

例子:我们版本更新,我尽可能不修改源代码,但是可以增加新功能(生活中体现:很多互联网公司都实行弹性制作息时间,规定每天工作8小时。意思就是说,对于每天工作8小时这个规定是关闭的,但是你什么时候来,什么时候走是开放的。早来早走,晚来晚走。)
复制代码

1.当前创建接口课程类

public interface ICourse { 
        //获取id
        public Integer getId(); 
        //获取名字
        public String getName(); 
        //获取价格
        public Double getPrice(); 
    }
复制代码

2.创建java课程类继承课程类

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; 
           } 
           
           public Integer getId() { 
                return this.Id; 
           } 
           
           public String getName() { 
                return this.name; 
           } 
           
           public Double getPrice() {
                return this.price; 
           } 
   } 
复制代码

3.创建java课程打折类继承java课程

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.61;
         } 
   } 
复制代码
原文  https://juejin.im/post/5ef06749f265da02a73477bc
正文到此结束
Loading...