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 44
|
class Foo : Object {
public string foo { get; private set; }
protected Foo.pro () {
foo = "foo.protected";
}
private Foo () {
foo = "foo.private";
}
}
class Bar : Foo {
public Bar.pro () {
base.pro ();
}
public Bar () {
base ();
}
}
class Manam : Bar {
construct {
bool b = true;
if (b) {
return;
}
assert_not_reached ();
}
}
void main () {
Bar bar;
bar = new Bar ();
assert (bar.foo == "foo.private");
bar = new Bar.pro ();
assert (bar.foo == "foo.protected");
var manam = new Manam ();
assert (manam.foo == "foo.private");
}
|