C#基础-面向对象的七大原则

news/2024/10/22 5:02:27/

 

目录

1.开放封闭原则(OCP)

2.单一职责原则(SRP)

3.依赖倒置原则(DIP)

4.里氏替换原则(LSP)

5.接口隔离原则(ISP)

6.合成复用原则(CRP)

7.迪米特法则(LOD)


     今天来分享一下面向对象的七大原则,有关面向对象的基础概念,三大特性等可以参考【超详细】C#基础-面向对象

1.开放封闭原则(OCP)

       开放封闭原则(Open/Closed Principle, OCP)指出软件实体(类、模块、函数等)应该对扩展开放,对修改封闭。即在不修改现有代码的情况下,可以通过扩展来增加新功能。

public abstract class Shape
{public abstract double Area();
}public class Rectangle : Shape
{public double Width { get; set; }public double Height { get; set; }public override double Area(){return Width * Height;}
}public class Circle : Shape
{public double Radius { get; set; }public override double Area(){return Math.PI * Radius * Radius;}
}

2.单一职责原则(SRP)

       单一职责原则(Single Responsibility Principle, SRP)指出一个类应该只有一个引起它变化的原因,即一个类应该只有一个职责

3.依赖倒置原则(DIP)

       依赖倒置原则(Dependency Inversion Principle, DIP)指出高层模块不应该依赖低层模块,两者都应该依赖抽象。抽象不应该依赖细节,细节应该依赖抽象。

4.里氏替换原则(LSP)

       里氏替换原则(Liskov Substitution Principle, LSP)指出子类应该能够替换其基类,并且不会影响程序的正确性。即子类应该能够完全替代父类而不引起任何问题

5.接口隔离原则(ISP)

       接口隔离原则(Interface Segregation Principle, ISP)指出客户端不应该依赖它不需要的接口。即接口应该尽可能小,只包含客户端需要的方法

6.合成复用原则(CRP)

       合成复用原则(Composition Over Inheritance)使用组合而非继承原则。即使用对象组合而不是类继承来实现代码复用

public class Engine
{public void Start(){Debug.Log("Engine starting");}
}public class Car
{private Engine engine;public Car(){engine = new Engine();}public void Start(){engine.Start();Debug.Log("Car starting");}
}

7.迪米特法则(LOD)

       迪米特原则(Law of Demeter, LOD)指出一个对象应该对其他对象有尽可能少的了解,即只与直接的朋友通信,不和陌生人说话

       好了,本次的分享到这里就结束啦,希望对你有所帮助~


http://www.ppmy.cn/news/1538399.html

相关文章

前端开发笔记--css 黑马程序员1

文章目录 1. css 语法规范2.css的书写风格3.基础选择器选择器的分类标签选择器类选择器类选择器的特殊使用--多类名 id 选择器 字体属性常见字体字体大小字体粗细字体倾斜字体的复合简写字体属性总结 文本属性文本颜色文本对齐装饰文本文本缩进文本间距文本属性总结 css的引入方…

赋能新时代,智象未来(HiDream.ai)推动智能服务深度融入生活

在人工智能领域的最新发展中,智象未来科技有限公司(简称“智象未来(HiDream.ai)”以其卓越的技术创新和深厚的行业积累脱颖而出,一跃成为多模态生成式人工智能技术的领军者。该公司致力于开发和优化视觉多模态基础模型…

数据处理中常见的归一化方法有哪些?为什么要对数据进行归一化?

🎁👉点击进入文心快码 Baidu Comate 官网,体验智能编码之旅,还有超多福利!🎁 🔍【大厂面试真题】系列,带你攻克大厂面试真题,秒变offer收割机! ❓今日问题&am…

企业远控私有化部署解决方案-内信互联

内信互联(DoLink),是点量软件新推出的企业私有化远程控制系统解决方案。很多朋友对这个产品还不是很了解,今天点量小编就对其基础功能做一些详细说明,如果您想快速拥有自己的企业私有远程控制系统,欢迎联系…

Curiously Recurring Template Pattern(CRTP)

Curiously Recurring Template Pattern(CRTP)是一种C中的高级编程技巧,也被称为"奇异递归模板模式"。这种模式看起来有点反直觉,因为它涉及到一个类将自己作为模板参数传递给自己的基类。让我为您详细解释一下这个概念。…

在电脑上免费压缩视频的 16 个视频压缩软件

正在寻找适用于 Windows 或 Mac 的最佳视频压缩器,让您轻松压缩 MP4、AVI、MKV、MOV 和更多类型的文件?无论您是通过社交媒体与朋友分享视频录制、释放手机空间,还是通过邮件发送长 MP4 视频,都必须使用付费或免费视频压缩软件来压…

高效微调理解(prompt-tuning,p-tuning v1,p-tuning v2,lora)

高效微调(prompt-tuning,p-tuning v1,p-tuning v2,lora) 1.prompt-tuning: 例子理解;保持原本模型参数不变,通过训练提示词的参数调整prompt,使其与下游任务匹配。 例子…

第六章:数据工程(6.3数据治理和建模--6.4数据仓库和数据资源)

6.3数据治理 6.3.1 元数据 数据治理是开展数据价值化活动的基础, 6.3.2 数据标准化 数据标准化的主要内容包括元数据标准化、数据元标准化、数据模式标准化和数据分类与编码标准化 数据标准化阶段的具体过程包括确定数据需求、制定数据标准、批准数据标准和实施…