File: interfaces.vala

package info (click to toggle)
vala 0.3.4-1
  • links: PTS, VCS
  • area: main
  • in suites: lenny
  • size: 13,756 kB
  • ctags: 12,353
  • sloc: ansic: 116,516; sh: 9,897; yacc: 1,218; makefile: 837; xml: 657; lex: 285
file content (43 lines) | stat: -rw-r--r-- 703 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
using GLib;

interface Maman.Ibaz : Object {
	public abstract void do_action ();

	public abstract void do_virtual_action ();
}

class Maman.Baz : Object, Ibaz {
	public void do_action () {
		stdout.printf (" 2");
	}

	public virtual void do_virtual_action () {
		stdout.printf (" 4");
	}
}

class Maman.SubBaz : Baz {
	public override void do_virtual_action () {
		stdout.printf (" 6");
	}

	static int main (string[] args) {
		stdout.printf ("Interface Test: 1");

		Ibaz ibaz = new Baz ();
		ibaz.do_action ();
	
		stdout.printf (" 3");

		ibaz.do_virtual_action ();

		stdout.printf (" 5");

		Ibaz subbaz = new SubBaz ();
		subbaz.do_virtual_action ();

		stdout.printf (" 7\n");

		return 0;
	}
}