diff options
Diffstat (limited to 'vala.html.markdown')
| -rwxr-xr-x | vala.html.markdown | 19 | 
1 files changed, 19 insertions, 0 deletions
| diff --git a/vala.html.markdown b/vala.html.markdown index 036e873d..a65c528f 100755 --- a/vala.html.markdown +++ b/vala.html.markdown @@ -251,6 +251,25 @@ interface InterfaceDemo { // Can be used as a mixin    // ...  } +// Since method overloading isn't possible, you can use named constructors +// to get the same functionality. + +public class Calculator : GLib.Object { + +    public Calculator() { +    } + +    public Calculator.with_name(string name) { +    } + +    public Calculator.model(string model_id, string name = "") { +      this.with_name(@"$model_id $name"); // Chained constructors with "this" +    } +    ~Calculator() { } // Only needed if you're using manual memory management +} + +var calc1 = new Calculator.with_name("Temp"); +var calc2 = new Calculator.model("TI-84");  enum HouseSize {    SMALL, | 
