In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-01-17 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Development >
Share
Shulou(Shulou.com)06/01 Report--
这篇文章主要介绍"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#聚合复用原则怎么实现"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.