ルビーで
class A
@x = 1
@y = 2
attr_accessor :x, :y
end
class B < A
@z = 3
attr_accessor :z
end
a = A.new
b = B.new
[1] A (a) のインスタンスを B に変換しますか? C ++でAのメンバー値を失うことなく、static_cast、reinterpret_cast、「変換」演算子などがあります.Rubyでこれを行う方法は? (ショートカットはありますか)、たとえば
b = a.convert_to B
# b.x = 1
# b.y = 2
# b.z = 3
[2]継承されたデータメンバーが多数ある場合、aの値を使用してB(b)インスタンスの継承された各データメンバー値を上書きする方法は? (これを行うための組み込みメソッドまたはショートカットはありますか?)たとえば
a.x = 1
a.y = 2
b.x = 3
b.y = 4
b.z = 6
b.overwrite_all_inherited_method_from a
# b.x = 1
# b.y = 2
# b.z = 6