美文网首页
七个原则1-开闭原则

七个原则1-开闭原则

作者: CC晨_程序小生 | 来源:发表于2018-12-25 14:20 被阅读0次

七个原则1-开闭原则

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

示例-开闭原则UML图

示例:设计一个课程接口ICourse,并且实现一个Java课程实现类JavaCourse,当增加打折需求并要求展示原价时如何设计? 增加JavaCourse的子类JavaDiscountCourse,重写获取getPrice方法,增加getOriginPrice方法。遵循对扩展开放,对修改关闭

示例-开闭原则UML

接口:Course

public interface ICourse {    
    Integer getId();    
    String getName();    
    Double getPrice();
}

类: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;
    }
}

类:JavaDiscountCourse

public class JavaDiscountCourse extends JavaCourse {
    public JavaDiscountCourse(Integer id, String name, Double price) {
        super(id, name, price);
    }

    public Double getDiscountPrice(){
        return super.getPrice()*0.8;
    }
}

测试类

public class Test {
    public static void main(String[] args) {
        ICourse iCourse = new JavaDiscountCourse(99,"Java设计模式学习",998d);
        JavaDiscountCourse javaCourse = (JavaDiscountCourse)iCourse;

        System.out.println("课程ID:"+javaCourse.getId()
                +"\n课程名称:"+javaCourse.getName()
                +"\n课程折扣价格:"+javaCourse.getDiscountPrice()
                +"\n课程价格:"+javaCourse.getPrice());
    }
}

相关文章

  • 七个原则1-开闭原则

    七个原则1-开闭原则 定义:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。 用抽象构建框架,用实现扩展细...

  • 基础知识:面向对象设计原则

    类的设计原则有七个,包括:开闭原则、里氏代换原则、迪米特原则、单一职责原则、接口分隔原则、依赖倒置原则、组合/聚合...

  • 面向对象的设计原则

    简述 面向对象的设计原则有七个,包括:开闭原则、里氏代换原则、迪米特原则(最少知道原则)、单一职责原则、接口分隔原...

  • 设计模式 Day02 面向对象设计的七大原则

    1. 七大原则是哪七个? ① 单一职责原则② 开闭原则③ 里氏代换原则④ 依赖倒转原则⑤ 接口隔离原则⑥ 组合复用...

  • 2022-01-02 设计原则--开闭原则与里式替换总结

    开闭原则(OCP) 开闭原则(OCP)开闭原则的英文全称是 Open Closed Principle,简写为 O...

  • OOP程序设计规则

    开闭原则(Open-Closed Principle,OCP) 开闭原则是这七大设计原则中最常见、最基本的开闭原则...

  • 开闭原则

    个人博客原文:开闭原则 设计模式六大原则之六:开闭原则。 简介 姓名 :开闭原则 英文名 :Open Closed...

  • 设计模式1-创建型模式

    1-设计模式的原则七大原则记忆口诀:开口里合最单依 开:开闭原则 //实现热插拔,提高扩展性。 口:接口隔离原则...

  • 六大设计原则 - 开闭原则【Open Close Princip

    六大设计原则 单一职责原则 里式替换原则 依赖倒置原则 接口隔离原则 迪米特原则 开闭原则 开闭原则 定义: So...

  • 面向对象设计原则(二)开闭原则

    面向对象设计原则之开闭原则 开闭原则是面向对象的可复用设计的第一块基石,它是最重要的面向对象设计原则。 开闭原则的...

网友评论

      本文标题:七个原则1-开闭原则

      本文链接:https://www.haomeiwen.com/subject/cmrflqtx.html