有人可以解释一个类如何访问其超类的实例变量以及这不是继承吗?我说的是“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
书上说:
“它们有时看起来被继承的原因是实例变量是由首先为它们赋值的方法创建的,而这些方法通常是继承或链接的。”
但我无法弄清楚它的真正含义。