C#聚合复用原则怎么实现
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,这篇文章主要介绍"C#聚合复用原则怎么实现",在日常操作中,相信很多人在C#聚合复用原则怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"C#聚合复用原则怎么实现"
千家信息网最后更新 2025年01月20日C#聚合复用原则怎么实现
这篇文章主要介绍"C#聚合复用原则怎么实现",在日常操作中,相信很多人在C#聚合复用原则怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"C#聚合复用原则怎么实现"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
组合/聚合复用原则(LSP)
定义:优先使用组合,使系统更灵活,其次才考虑继承,达到复用的目的。
重用的方式:
继承、组合、聚合
解释说明:
继承:在我们想复用代码时,我们一般会优先想到继承,但是具有继承关系的两个类是耦合度最高的两个类。(父类改了子类可能会受影响,子类改了父类也可能会受影响)
如果父类的功能比较稳定,建议使用继承来实现代码复用,因为继承是静态定义的,在运行时无法动态调用。组合:是整体与部分的关系,整体离不开部分,部分离开了整体没有意义,如飞机翅膀与飞机的关系。
聚合:也是整体与部分的关系,但整体可以分离部分,部分也可以离开整体,如火车与车厢的关系。
组合/聚合:是通过获得其他对象的引用,在运行时刻动态定义的,也就是在一个对象中保存其他对象的属性,这种方式要求对象有良好定义的接口,并且这个接口也不经常发生改变,而且对象只能通过接口来访问,这样我们并不破坏封装性,所以只要类型一致,运行时还可以通过一个对象替换另外一个对象。
示例1:组合
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 组合聚合复用原则{ ////// 定义一个飞机翅膀类 /// public class Airfoil { ////// 定义方法 /// public void AdjustAngle() { Console.WriteLine("调整角度"); } } public class Plane { // 定义一个私有的飞机翅膀类的变量 private Airfoil airfoil; // 省略setter、getter public void Fly() { // 使用组合实现代码的复用 airfoil.AdjustAngle(); } }}
上面代码中飞机翅膀和飞机之间使用继承就不太合适,本身也就是组合关系,这样就实现了代码的复用。在平常使用最多的就是在一个对象中声明另外一个对象的变量。
示例2:聚合
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 组合聚合复用原则{ ////// 定义一个车厢类 /// public class RailwayCarriage { public void Loading() { Console.WriteLine("车厢装载118人"); } } ////// 定义一个火车类 /// public class Train { // 定义一个私有的车厢类的变量(在一个类中定义另外一个类的引用) private RailwayCarriage rc; // 省略setter、getter public void Carry() { // 可以使用车厢,也可以不使用车厢 if(rc!=null) { rc.Loading(); } Console.WriteLine("车头装载5人"); } public void Run() { } }}
到此,关于"C#聚合复用原则怎么实现"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
复用
组合
对象
原则
车厢
飞机
代码
整体
C#
翅膀
部分
学习
变量
接口
运行
两个
也就是
动态
子类
整体与部分
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
外网ip代理服务器
新产品硬软件开发管理办法
弈聪软件开发
有真的网络安全
pubg最好选什么服务器
云服务器适合什么操作系统
晋州软件开发技术在线咨询
互联网时代的网络安全论文
云数据库概述PPT
中兴软件开发毕业生给多少
电脑服务器哪个部位最容易坏
北京丰台cmmi软件开发
aps数据库是什么文件
天津企业软件开发是什么
主备web服务器的搭建
软件开发公司财务报表
dxp设计数据库
现代战争网络安全吗
服务器托管违法谁负责
湖南物联网时钟同步服务器
5g软件开发是什么
万物互联时代网络安全性
s6 互联网 清除数据库
怎么导出数据库性能报表
数据库双活技术选择
中移铁通网络安全
875数据库考研资料
北京云尚制软件开发有限公司
湖南物联网时钟同步服务器
汇丰 软件开发经理 级别