如何解决对象是否被实例化
这里是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);
}
}
我不明白这段代码中的对象?它是什么?它是一个对象吗?如果它是一个对象,那么为什么它没有新的关键字并且没有实例化?
解决方法
您在构造函数中看到的 Object()
是特定于 Vala 的语法,称为:GObject-style construction。它允许您一次性设置所有属性。
这允许您使用 GObject 所谓的“构造属性”:可以在构造期间设置的属性(有时它们甚至只能在构造期间专门设置)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。