クラスがそのスーパークラスのインスタンス変数にアクセスする方法と、それが継承ではない方法を誰かが説明できますか?私は「Rubyプログラミング言語」と例について話している
class Point
def initialize(x,y) # Initialize method
@x,@y = x, y # Sets initial values for instance variables
end
end
class Point3D < Point
def initialize(x,y,z)
super(x,y)
@z = z
end
def to_s
"(#@x, #@y, #@z)" # Variables @x and @y inherited?
end
end
Point3D.new(1,2,3).to_s => "(1, 2, 3)"
継承されていない場合、クラスPoint3D
アクセスx
とy
内部はどのようにできますか?to_s
本は言う:
「それらが継承されているように見えることがある理由は、インスタンス変数が最初に値を割り当てるメソッドによって作成され、それらのメソッドが継承または連鎖されることが多いためです。」
しかし、それが実際に何を意味するのか理解できません。