zoukankan      html  css  js  c++  java
  • 开闭原则

    一、定义(程序对修改关闭,对扩展开放)

    ①、一个软件实体如类,模块和函数应该对扩展开放(对于提供方来说),对修改关闭(对于使用方来说)。用抽象构建框架,用实现扩展细节。

    ②、当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化。

    ③、编程中遵循其它原则,以及使用设计模式的目的就是遵循开闭原则。

     二、案例

    /**
     * @author 作者 ki16:
     * @version 创建时间:2021年7月23日 下午2:52:08
     *
     */
    
    public class Ocp {
        public static void main(String[] args) {
            UseTool use = new UseTool();
            System.out.println("使用" + use.use(new FishingRod()));
            System.out.println("使用" + use.use(new Fork()));
        }
    }
    //进行捕捞(使用方)
    class UseTool{
        public String use(Tool too) {
            return too.fishing();
        }
    }
    
    //工具(提供方)
    abstract class Tool{
        int type;
        public abstract String fishing();
    }
    
    class FishingRod extends Tool{
        public FishingRod() {
            super.type = 1;
        }
        @Override
        public String fishing() {
            return "鱼竿";
        }
    }
    class Fork extends Tool{
        public Fork() {
            super.type = 2;
        }
        @Override
        public String fishing() {
            return "叉子";
        }
    }
  • 相关阅读:
    Tp控制器
    thinkphp总体设计
    视频会议管理系统操作步骤(新)
    视频会议(旧)
    HCIE实验LAB_1(1)
    HCIE实验LAB_1(2)
    HCIE实验LAB_1(3)
    HCIE实验LAB_1(4)
    HCIE实验LAB_1(5)
    HCIE实验LAB_1(6)
  • 原文地址:https://www.cnblogs.com/ki16/p/15048975.html
Copyright © 2011-2022 走看看