
[英]How do I use another gem as a dependency and create a class that inherits from it
[英]Overwriting a dependency gem class which inherits from a parent class
覆盖从父类继承的依赖 gem 类
如果我使用的是blah
gem,并且这个 gem 有一个名为foo
的类,它继承自bar
。 但是我想在这个 gem 上更改这个类。 有没有办法做到这一点,我已经看到了覆盖 gems 类上的方法但不覆盖实际类的方法。
例如。
我要覆盖的类如下:
class foo < bar
def some_method
end
def another_method
end
end
我想如何覆盖这个类:
class foo < not_bar
def a_different_some_method
end
def a_different_another_method
end
end
不,如果不基本上重写子类,您实际上无法更改父类。 如果每个类中只有两个方法可能没问题,但 Ruby 类使用单继承,因此您不能在不重新定义的情况下将子类重新分配给不同的超类。 但是,您可以执行以下任一操作:
由于您还没有真正定义用例,因此很难判断哪种方法最适合您。 但是,一旦定义了父类,它就会保持定义状态,因此您必须以另一种方式尝试做任何事情。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.