сначала извините за мой плохой английский ... Я сомневаюсь ... Я читаю 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
Это очень простой пример... на самом деле это первый пример ... но я настолько нуб, чем не понимаю:
приложение - это объект FXAPP ... теперь я создаю объект HelloWindow и передаю свой объект FXApp с именем "app "
пока все хорошо
но сейчас ... в книге напишите app.create Я вызываю метод" create "внутри класса FXApp ... или нет? ..
почему, когда я вызываю app.create..ruby, вызываю метод create внутри HelloWindow? .. app - это совершенно другой объект, чем класс HelloWindow, и я могу вызвать метод anscestor (например, когда я использую super), ноне наоборот ...
почему они не называют это примерно так
helloobject=HelloWindow.new(app)
helloobject.create
таким образом я вызываю метод create внутри класса HelloWindows..и он происходит отFXMainWindows
Надеюсь, вы не поймете (извините за мой плохой английский) и сможете мне помочь
Большое спасибо