C# Unity 面向对象补全计划 七大原则 之 开闭原则

news2024/11/19 21:44:37

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

请看专栏: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的逻辑
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1979023.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux 命令安装

系列文章目录 提示:仅用于个人学习,进行查漏补缺使用。 1.Linux介绍、目录结构、文件基本属性、Shell 2.Linux常用命令 3.Linux文件管理 4.Linux 命令安装 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助…

力扣——572.另一个树的子树

题目: 思路: 深度优先搜索,遍历root的每一个节点代表的整棵树是否和subroot一样。比较是否一样的时候可以从根节点开始递归,首先查看是否为空,然后值是否一样。 代码: vs可运行代码: &#…

【C++】异常处理:深度解析与实战精髓,不容错过的编程秘籍

🌈 个人主页:Zfox_ 🔥 系列专栏:C从入门到精通 目录 🚀 前言:C语言传统的处理错误的方式 一: 🔥 C异常概念二: 🔥 异常的使用 2.1 📖 异常的抛出和…

后端学习笔记(4)--MyBatis

1.MyBatis ​ *MyBatis是一款优秀的持久层框架,用于简化JDBC开发 *持久层 ​ *负责将数据保存到数据库的那一层代码 ​ *JavaEE三层架构:表现层、业务层、持久层 *框架 ​ *框架是一个半成品软件,是一套可重用的、通用的、软件基础代码…

52 break 与 continue 语句

break 与 continue 语句在 while 循环和 for 循环中都可以使用,并且一般常与选择结构或异常处理结构结合使用。 ① 一旦 break 语句被执行,将使得 break 语句所属层次的循环提前结束。 ② continue 语句的作用是提前结束本次循环,忽略 contin…

量产部落RTS5765DL量产工具,RTS5765DL+三星SSV6顺利开卡,假金士顿固态完美修复,RTS5765、RTS5766固件量产教程

朋友电脑开不了机,判断是硬盘坏了,从上面拆下来一个1TB的金士顿固态盘。 居然用的是RTS5765DL主控三星SSV6颗粒,100%假货了,看来只能用开卡软件来修复。 开卡前必须准备一个开卡转接板,方便固态硬盘通过USB连接电脑&am…

Nginx解析漏洞~CVE-2013-4547漏洞分析

Nginx解析漏洞 这个解析漏洞其实是PHP CGI的漏洞,在PHP的配置文件中有一个关键的选项cgi.fix_pathinfo默认是开启的,当URL中有不存在的文件,PHP就会向前递归解析。在一个文件/xx.jpg后面加上/.php会将 /xx.jpg/xx.php 解析为 php 文件。 CVE-…

实验4-1-7 特殊a串数列求和

//实验4-1-7 特殊a串数列求和/* 给定两个均不超过9的正整数a和n,要求编写程序求aaaaaa⋯aa⋯a(n个a)之和。 输入格式:输入在一行中给出不超过9的正整数a和n。 输出格式:在一行中按照“s 对应的和”的格式输出。 */#in…

Stegdetect教程:如何用Stegdetect检测和破解JPG图像隐写信息

一、Stegdetect简介 Stegdetect 是一个开源工具,专门设计用于检测图像文件(JPG格式)中的隐写信息。Stegdetect 可以检测多种常见的隐写方法,比如 JSteg、JPHide 和 OutGuess 等。 二、使用Stegdetect检测图像隐写 官方描述&#…

javaI/O|day2. javaI/O模型、 具体I/O流程、 具体模型

文章目录 javaI/O模型定义具体I/O流程图示过程讲解 具体模型I/O调用两个阶段同异步阻塞非阻塞BIO(同步并阻塞)NIO(同步非阻塞)AIO(异步非阻塞) javaI/O模型 定义 用什么样的通道或者通信模式和架构进行数据的传输和接收,很大程度上决定了程序的性能 具体I/O流程 图示 过程 …

36k Star的开源大模型应用开发平台,太强了!

引言 Dify是一款开源的大语言模型(LLM)应用开发平台,它帮助开发者和非技术人员,快速构建生产级别的生成式AI应用。 该项目设立于2023 年 3 月,开源协议是基于 Apache License 2.0 有限商业许可,后端技术P…

nginx自动续期ssl证书

🔴 大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂。 🔴前言 前年,阿里将免费的ssl证书从一年调整成了三个月; 去年,腾讯将免费的ssl证书从一年调整成了三个月; 以…

【文献阅读】Balancing the Scales: HyperSMOTE for Enhanced Hypergraph Classification

Abstract 真实用户与机器人数量之间的固有不平衡带来了巨大的挑战,常常导致分类器的偏差。本文引入了HyperSMOTE,这是一种利用超图丰富结构的不平衡节点分类的新方法。通过将X平台用户表示为节点,并将他们的互动表示为超边,构建了…

给水排水杂志

一、基本信息 《给水排水》创刊于1964年,是国内创刊早、发行量大、内容涵盖广的水行业权威期刊,在业内享有盛誉。期刊现由中国建设集团股份有限公司主管,亚太建设科技信息研究院有限公司、中国土木工程学会主办。现任名誉主编&#xff1a…

【Java】深度解析Java的反射机制

反射(Reflection) 一、 反射的基本概念二、 获取类的信息三、 获取类的成员四、 动态创建对象五、 动态调用方法六、 动态访问和修改字段 总结 一、 反射的基本概念 反射是一种运行时机制,允许程序在运行时检查和操作类、方法、字段等。通过…

告别异地烦恼,这四款远程控制工具一键掌控千里之外的电脑!

现在的科技水平真是越来越强大了,以前都是必须要在电脑跟前才可以解决的问题,现在可以安装通过远程控制的软件来实现在家就可以办公,解决了这当中的时间和金钱成本,所以今天就具体来聊聊四款好用的远程控制工具,协助我…

学python的第一天:PyCharm创建项目

创建项目 打开工具 PyCharm 点击“新建项目” 点击“创建” 环境 系统会创建虚拟环境,稍等 初始设置 创建完成后会进入main.py文件 性能 可以看到 右下角提示我们增强性能,点“自动” 会获取到管理员权限 完成后会提示完成

CAS单点登录

1.相同顶级域名的单点登录SSO 相同顶级域名的单点登录:SSO:SINGLE SIGN ON 单点登录可以通过基于用户会话的共享;分为两种,第一种:相同顶级域名; 原理是分布式会话完成的;关键是顶级域名的cookie值是可以共享的 比如…

7月小游戏畅销榜Top 100:MMO游戏数量增多,26款新入榜

易采游戏网8月4日消息:2024年7月的小游戏畅销榜Top100已经揭晓,给广大游戏玩家带来了不少惊喜和期待。与上个月相比,本月的榜单不仅新入榜游戏数量达到了26款,还显示了MMO(大型多人在线)游戏的强劲增长趋势…

deform,一个超强的 Python 库!

更多资料获取 📚 个人网站:ipengtao.com 大家好,今天为大家分享一个超强的 Python 库 - deform。 Github地址:https://github.com/Pylons/deform 在 Web 开发中,表单处理是一个常见且重要的任务。deform 是一个用于生…