3 interface Maman
.Ibaz
: Object
{
4 public abstract void do_action ();
6 public abstract void do_virtual_action ();
8 protected void protected_mixin_1() {
9 stdout
.puts("protected_mixin_1\n");
13 protected void protected_mixin_2() {
14 stdout
.puts("protected_mixin_2\n");
17 public void public_mixin() {
24 class Maman
.Baz
: Object
, Ibaz
{
25 public void do_action () {
29 public virtual void do_virtual_action () {
33 public void do_mixin() {
38 class Maman
.SubBaz
: Baz
{
39 public override void do_virtual_action () {
43 public static int main_func () {
44 stdout
.printf ("Interface Test: 1");
46 Ibaz ibaz
= new
Baz ();
49 (ibaz as Baz
).do_mixin();
53 ibaz
.do_virtual_action ();
57 Ibaz subbaz
= new
SubBaz ();
58 subbaz
.do_virtual_action ();
60 stdout
.printf (" 7\n");
62 subbaz
.public_mixin();
63 (subbaz as Baz
).public_mixin();
70 Maman
.SubBaz
.main_func ();