次のRubyクラスがあるとします。
class A
def self.greet
puts 'hi'
end
end
class B < A; end;
class C < B; end;
変更せずに元の定義を使用するような方法で再定義greet
することは可能ですか?B
C
C
(「あなたはそれを間違っている」というのはおそらく反応だと理解していますが、これを行うのには十分な理由があるとしばらく考えてください。)
アップデート
Rubyがあなたがやりたいことを何でもできるというさらに別のデモンストレーションを見るのは良いことです。しかし、この質問を見つけて同じようにやろうと考えている人には、私は最終的に自分が間違ったことをしていることに気づいたと言わなければなりません。CはAを直接サブクラス化する必要がありました。
あなたのショットガンを受け取るために読んで、あなたがそれを狙っているところを見てください。:)