什么是开放封闭原则(The Open-Closed Principle 、OCP)

开放封闭原则(OCP)指出,软件实体应尽量对扩展开放,对修改关闭。这意味着可以轻易扩展类的功能而不改变其原有代码。文章探讨了如何通过接口与实现分离以及封装变化来遵循这一原则,例如通过类的派生和接口修改的关闭,以及利用抽象类型来封装可能的需求变化。
摘要由CSDN通过智能技术生成

我通常强调抽象依赖原则:为了应对需求变化,代码中要尽可能地使用(依赖)抽象类型,而非具体类。而不把开放封闭原则(The Open-Closed Principle 、OCP)作为重点加以介绍,主要是因为开放封闭原则涉及的议题较多,容易引起一些误解。

★Software entities(classes ,modules,functions,,etc.) should be open for extension,but closed formodification.一个软件实体(类、模块、函数等等)应对扩展开放,对修改关闭。

1.对扩展开放

对扩展开放”意味着什么?

1)通常人们讨论Software entities(classes ,modules)这一部分。对于Java中有类A,我们可以方便的创建A的新的子类型SubA,而且子类型SubA可以定义新的(A中没有的)操作。这是OOP中很容易做到的事情,也是A对扩展开放的主要方面。即

 

  • 类A的派生
  • SubA的扩展继承
问题是, A自己可以增加以前没有的新的操作吗?换言之,A能够增加新接口吗?这是一
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值