对象是否被实例化

is the object instanciated

这里是 vala 的示例源代码,用于从 elementary os 网站

创建一个简单的 GTK 应用程序

public class Examples.Application : Gtk.Application {
    public Application () {
        Object (
            application_id: "org.valadoc.examples",
            flags: ApplicationFlags.FLAGS_NONE
        );
    }

    protected override void activate () {
        var application_window = new Gtk.ApplicationWindow (this);
        application_window.show_all ();
    }

    public static int main (string[] args) {
        var app = new Application ();
        return app.run (args);
    }
}

我不明白这段代码中的对象?它是什么?它是一个对象吗?如果它是一个对象那么为什么它没有新的 keword 并且没有实例化?

您在构造函数中看到的 Object() 是 Vala 特定的语法,称为:GObject-style construction。它允许您一次设置所有属性。

这允许您使用 GObject 所谓的“构造属性”:可以在构造期间设置的属性(有时它们甚至只能在构造期间专门设置)。