编程语言有不同的方式处理上述问题。例如Eiffel容许子类型透过重新命名，或提前为他们确定选择规则，来适应（）它继承得来的功能。允许物件从多个介面继承，但仅允许一个实现继承。REALbasic与它相似，并增加了一个不需使用继承来「扩展」一个类别的功能。Perl使用一种有序列表式的继承机制：搜寻方法时，它会先搜寻当前类别的方法，然后使用深度优先搜索来顺序寻找各个继承类别及其父类别。CLOS允许程式设计者完全控制方法的组合。如果这还不足够，元对象协议给程式设计者一种手段去修改继承，方法调度，类别特例化，及其它内