1
10
你可以使用策略模式或类似的方法 有一个 (组成)而不是 是一个 (继承权):
有其他方法可以实例化您的私有imagician成员(例如通过构造函数将其作为param传递),但以上方法应该可以帮助您开始。 |
2
9
如果没有什么特别好的,选择感觉最好的, 用它 几次,明天重新安排。:) |
3
3
用组合替换继承。 将“common”函数移动到单独的类,创建该类的实例,并将其插入typea对象和typeb对象。 |
4
3
你的直觉在这种情况下是正确的。适配器模式是您正在寻找的。 DoFaCoto有好的.NET示例(也应该与Java的同行非常接近): |
5
1
复合模式是针对复杂对象的,这意味着焦点是由其他对象组成的一个对象。这个
strategy-pattern
可以看作是一个特例,但战略不一定是一个对象。我认为这更适用于你的案子。再说一遍,这在很大程度上取决于
|
6
1
现在,问题是如果你 真正地 需要使用私有属性/方法(与“内部”属性/方法相反),这种方法行不通。好吧,事实上,如果你能通过反射来阅读这些属性,你也许能发挥你的魔力,但即使它起作用,这也是一个相当丑陋的解决方案:) [请注意,“domagic”将自动成为typea和typeb的一部分,这仅仅是因为您实现了imagician—这里不需要任何实现] |
7
0
你可以使用构图把魔术师作为类型A和类型B的属性
|
8
-3
|
Schadre · C-plus编码错误 2 年前 |
Nithin K · 即使类属性的类型正确,也会获取异常 2 年前 |
amirreza870 · Python OOP-更改类文本 2 年前 |
A_K · 使用cat或打印方法打印部分内容的子集闭包 2 年前 |
Mo Fatah · 如何使用Python类打印数独板? 2 年前 |