前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >面向对象的设计原则-"开闭原则"

面向对象的设计原则-"开闭原则"

作者头像
别明天就今天吧
发布2020-09-08 07:54:43
5080
发布2020-09-08 07:54:43
举报
文章被收录于专栏:别明天就今天吧

是什么?

Open-Closed Principle,"开闭原则"百科上是这么说的:一个软件实体(如类、模块、函数)应该对扩展开放,对修改关闭。

为什么?

开闭原则是面向对象设计原则中最基础的原则,可称之为原则的原则,也可以说是原则的指导思想,它强调的是既稳定又灵活,在不修改源代码的情况下又增加了新功能,核心思想是面向抽象编程。

"开闭原则是抽象类,其他五大原则是具体的实现类。"对测试的影响,可以提高复用性,提高可维护性,面向对象开发的要求。

怎么用?

(来说说抽象,抽象是对一组事物的通用描述,它没有具体的实现,也就表示它有很多的可能性,在程序语言中抽象表现为在接口或抽象类定义一些可变的行为,并且能够实现对扩展开放,其包含三层含义:

第一,通过接口或抽象类约束扩展,对扩展进行边界限定,不允许出现在接口或者抽象类中不存在的public方法;

第二,参数类型、引用对象尽量使用接口或者抽象类,而不是实现类,类之间使用interface交互。

第三,抽象层保持稳定,一旦确定即不允许修改。)

打折需求通过使用继承、List中IBook的使用是关键。

比如增加了一个需求,书店增加计算机书籍,它不仅包含名称、价格、作者,还包含了一个新属性"领域",实现如类下关系图:

最后再说说封装变化,包含两层含义:

  1. 将相同的变化封装到一个接口或抽象类中;
  2. 将不同的变化封装到不同的接口或抽象类中;
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-03-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 别明天就今天吧 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档