首先为我糟糕的英语感到抱歉...我有疑问..我正在为务实的程序员阅读 FXRuby..我看到了这段代码
require 'fox16'
include Fox
class HelloWindow < FXMainWindow
def initialize(app)
super(app, "Hello, World!" , :width => 200, :height => 100)
end
def create
super
show(PLACEMENT_SCREEN)
end
end
app = FXApp.new
HelloWindow.new(app)
app.create
app.run
这是一个非常基本的例子......实际上这是他的第一个例子......但我太菜鸟了,我不明白:
app 是一个 FXAPP 对象.. 现在我创建一个 HelloWindow 对象并传递我的名为“app”的 FXApp 对象
到目前为止,一切都很好
但现在......在书中写 app.create 我在 FXApp 类中调用“create”方法......或者不?......
为什么当我调用 app.create..ruby 时调用 HelloWindow 中的 create 方法?..app 是一个与 HelloWindow 类非常不同的对象,我可以调用 anscestor 方法(就像我使用 super 时一样),但不能以相反的方式调用。 ..
为什么他们不这样称呼它
helloobject=HelloWindow.new(app)
helloobject.create
这样我在 HelloWindows 类中调用 create 方法。它是 FXMainWindows 的后代
我希望你能理解(对不起我的英语不好)并且可以帮助我
非常感谢