diff --git a/vala/gvala/gvala.vala b/vala/gvala/gvala.vala index 251e8fe..7dac9d3 100644 --- a/vala/gvala/gvala.vala +++ b/vala/gvala/gvala.vala @@ -1,32 +1,22 @@ -class AAA : GLib.Object { - public int vala; - - public virtual void copy (AAA a) { - a.vala = this.vala; +class Base : GLib.Object { + public virtual void copy () { + stdout.printf ("Base copy() called\n"); } } -class subAAA : AAA { - public int sub_vala; - - public virtual new void copy (subAAA a) { - ((AAA)this).copy(a); - a.sub_vala = this.sub_vala; +class Sub : Base { + public override void copy () { + stdout.printf ("Sub copy() called\n"); } } class GVala : GLib.Object { public static int main (string[] args) { - var suba = new subAAA(); - suba.vala = 1; - suba.sub_vala = 2; + // var base = new Base(); + // var sub = new Sub(); + Base b = new Sub(); - var subb = new subAAA(); - suba.copy (subb); - - - stdout.printf ("{%d;%d}\n", suba.vala, suba.sub_vala); - stdout.printf ("{%d;%d}\n", subb.vala, subb.sub_vala); + b.copy(); return 0; }