本文主要是介绍思考:优先使用组合而不是继承 1.继承的耦合程度最高? 2.多态?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1) 场景
当然需要在普通的房卡模式中加入比赛场模块,
玩法A B C D...很多种玩法,他们都是房卡模式,继承了一个公共的父类Base,此时需要加入比赛场,使用的是lua语言。
2) 继承还是组合?有2种方法:
1.可以写一个类MatchGameScene动态继承A B C D玩法类
2.在Base中写个模块,组合的方式,挂载在Base上,当不是比赛场,那么不开启这个模块。
总结:
显然,方法2对其他模块影响最小; 不需要像1那样搞个动态继承,增加复杂性。 当然了,当时没考虑清楚,选择的是方案1,导致有点麻烦,不过最后还是实现了功能。 别的组用的方法2,也是实现了功能。
--------------20220323----------
现在想到的是多态去解决不同的地方,相同的地方则是做封装。
这篇关于思考:优先使用组合而不是继承 1.继承的耦合程度最高? 2.多态?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!