一个模块可以做什么,超类不能(反之亦然)?

时间:2013-09-21 22:45:31

标签: ruby class module

我有两个类ChickenFrog,它们都是Animal的子类,它包含两个生物共有的变量和方法。子类包含修改后的initialize方法,以及它们自己的实例方法。

在什么时候,ChickenFrog周围的模块是否有用? Animal模块会替换Animal超类吗?在什么情况下,如果有的话,它能够吗?

1 个答案:

答案 0 :(得分:4)

您可以包含许多模块,但只能有一个超类。这是非常重要的区别。通常通过mixin扩展功能更方便,而不是继承。