Tutorial by Examples

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.
public class Foo { public string prop { construct; get; } } Pure-Vala and lightweight class. This is useful if you need a compromise between efficiency of a struct and the feature of a full blown GObject class.
[Compact] public class Foo { public string prop; } It is mainly used for writing bindings with specific memory management.

Page 1 of 1