当前位置: 首页 > news >正文

C# Unity 面向对象补全计划 七大原则 之 开闭原则(OCP) 难度:☆ 总结:已经写好的就别动它了,多用继承

本文仅作学习笔记与交流,不作任何商业用途,作者能力有限,如有不足还请斧正
本系列作为七大原则和设计模式的进阶知识,看不懂没关系

请看专栏:http://t.csdnimg.cn/mIitr,查漏补缺

1.开闭原则(OCP)

开闭原则(Open-Closed Principle, OCP)是面向对象设计中的一个基本原则,它的核心思想是:软件实体(如类、模块、函数等)应该对扩展开放,对修改关闭,这意味着在不修改现有代码的前提下,可以通过扩展来增加新功能

图解就是这意思:说来也是,这不就是我在继承那两篇文章里面的正常写法嘛

2.举栗子

我现在有这些内容

public  abstract class Computer {protected abstract void Func();
}
public class PC : Computer {protected override void Func() {//Pc的逻辑}
}

我需要扩展内容的话,可以继承父类,在子类中拓展,而不是去修改父类的代码

public class NoteBook : Computer {protected override void Func() {//NoteBook的逻辑}
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • elementPlus中el-table的每列两行溢出隐藏怎么设置
  • PPT免费图片素材网站分享
  • VSCODE调试程序
  • 政府行政窗口神秘顾客调查表
  • 安装python+python的基础语法
  • Ubuntu23.10 安装kvm并使用nmtui创建桥接网络
  • C# 设计模式之组合模式
  • [flink]部署模式
  • 【网络安全】玲珑安全第四期
  • 打卡第34天------动态规划-01背包
  • 【practise】数组中出现次数超过一半的数字
  • ABAP小白开发操作手册+(九)ABAP调用http
  • 泛型类型,存在确定得属性,剩下的属性都是通过泛型传进来
  • 【数据结构的——红黑树】
  • Javascript——宏任务微任务与JavaScript引擎的事件循环(Event Loop)和任务调度
  • 4. 路由到控制器 - Laravel从零开始教程
  • CAP理论的例子讲解
  • Docker入门(二) - Dockerfile
  • Electron入门介绍
  • es的写入过程
  • Java比较器对数组,集合排序
  • Lucene解析 - 基本概念
  • Mysql优化
  • Next.js之基础概念(二)
  • vue2.0开发聊天程序(四) 完整体验一次Vue开发(下)
  • 安卓应用性能调试和优化经验分享
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • 将回调地狱按在地上摩擦的Promise
  • 如何实现 font-size 的响应式
  • 使用阿里云发布分布式网站,开发时候应该注意什么?
  • 云大使推广中的常见热门问题
  • 怎样选择前端框架
  • Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九) ...
  • 如何正确理解,内页权重高于首页?
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • # 利刃出鞘_Tomcat 核心原理解析(二)
  • # 数仓建模:如何构建主题宽表模型?
  • # 睡眠3秒_床上这样睡觉的人,睡眠质量多半不好
  • #单片机(TB6600驱动42步进电机)
  • #我与Java虚拟机的故事#连载17:我的Java技术水平有了一个本质的提升
  • $.proxy和$.extend
  • (03)光刻——半导体电路的绘制
  • (3)nginx 配置(nginx.conf)
  • (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
  • (70min)字节暑假实习二面(已挂)
  • (a /b)*c的值
  • (C#)if (this == null)?你在逗我,this 怎么可能为 null!用 IL 编译和反编译看穿一切
  • (LNMP) How To Install Linux, nginx, MySQL, PHP
  • (zz)子曾经曰过:先有司,赦小过,举贤才
  • (纯JS)图片裁剪
  • (六)Flink 窗口计算
  • (十)【Jmeter】线程(Threads(Users))之jp@gc - Stepping Thread Group (deprecated)
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • .bat文件调用java类的main方法
  • .Family_物联网