1333得票18回答
什么是 mixin,它有什么用处?

在《Python编程》一书中,马克·卢茨提到了术语mixin。我来自C/C++/C#背景,之前从未听说过这个术语。什么是mixin? 从这个例子(我链接它是因为它相当长)中看来,我认为它是使用多重继承来扩展类而不是正常的子类化。这样理解对吗? 为什么我要这样做而不是将新功能放入子类中?同样...

1319得票18回答
Python中的super()在多重继承中是如何工作的?

super()在多重继承中如何工作?例如,给定以下代码:class First(object): def __init__(self): print "first" class Second(object): def __init__(se...

744得票11回答
在Python中,'super'是什么意思?super().__init__()和显式超类__init__()之间的区别是什么?

以下两者有何不同: class Child(SomeBaseClass): def __init__(self): super(Child, self).__init__() 并且: class Child(SomeBaseClass): ...

355得票11回答
调用多继承中的父类__init__,应该怎么做?

假设我有一个多重继承的情况: class A(object): # code for A here class B(object): # code for B here class C(A, B): def __init__(self): # Wh...

254得票13回答
C#中的多重继承

由于多重继承不好(它使源代码更加复杂),C# 不直接提供这种模式。但有时具备这种能力会很有帮助。例如,我可以使用接口和三个类来实现缺失的多重继承模式,如下所示:public interface IFirst { void FirstMethod(); } public interface IS...

182得票15回答
为什么我应该避免多重继承?

使用多重继承是一个好的概念吗?还是我可以选择其他方法?

179得票9回答
如何制作一个实现了两个泛型类型的接口的Java类?

我有一个通用接口。 public interface Consumer<E> { public void consume(E e); } 我有一个类需要使用两种不同的对象,因此我想做以下操作: public class TwoTypesConsumer implem...

172得票17回答
Java多重继承

为了充分理解如何解决Java多继承问题,我有一个需要澄清的经典问题。 假设我有一个类Animal,它有子类Bird和Horse,我需要创建一个Pegasus类,它继承自Bird和Horse,因为Pegasus既是鸟又是马。 我认为这是经典的“钻石问题”。根据我的理解,经典的解决方法是将An...

171得票2回答
混合 vs 特征

混合类和特质在IT技术中有什么区别? 根据维基百科的解释,Ruby模块有点像特质。这是怎么回事?

164得票7回答
Java中的接口是否可以继承多个接口?

在Java中,接口是否可以扩展多个接口?这段代码在我的IDE中似乎是有效的,并且也编译通过:interface Foo extends Runnable, Set, Comparator<String> { } 但是我听说Java不允许多重继承。为什么看起来接口有例外呢?