public class Foo : Object { public string prop { construct; get; } }
It is meant for interospectable API using GObject Introspection. This is the recommended way for declaring classes.