在以下代码中,puts ParentObjectC2
无效。我指的是在线教程。
class BaseParentClass
def method
100
end
end
class Child1 < BaseParentClass
puts "I am child class one , I inherit the properties of BaseParentClass"
ParentObjectC1=BaseParentClass.new
puts ParentObjectC1.method
end
class Child2 < BaseParentClass
puts "I am child two, I also inherit the properties of BaseParentClass"
ParentObjectC2=BaseParentClass.new
puts ParentObjectC2
end
我的输出
ragesh@ragesh:~/Ruby/HelloWorld$ ruby classDemo.rb
I am child class one , I inherit the properties of BaseParentClass
100
I am child two, I also inherit the properties of BaseParentClass
#<BaseParentClass:0x00000001423bb8>
答案 0 :(得分:0)
如果要合理打印,请将to_s方法添加到基类。在第一个子类中,打印方法函数。在第二种情况下,您尝试打印对象本身。
请使用小写的对象名称。大写看起来像一个类
def to_s
"base #{method}"
end
还有一件事。您可以直接调用该方法。不要创建基础对象并在基础上调用它。这根本不说明继承!
而只是打电话:
puts method