2006/04/07(金)何度も言うけどJavaは大嫌いな賢者伍段のQMA3できなかった日記

2006/04/07 25:10

JOE画伯のオブジェクト指向講座の第2回が来ました。

http://d.hatena.ne.jp/Aoi_TSK/20060406/p1

多重継承ができる上に、変数に型のないPythonでは面白いコードにはならなそうなので、今回はJavaだけにしておきます。

class SoccerMuri {
    private String name;

    SoccerMuri(String name) {
        this.name = name;
    }

    void soccer() {
        System.out.println(name + "「サッカーとか無理アルー!」");
    }

    String getName() {
        return name;
    }
}

interface AniRan6 {
    public void erog();
}

class YangYang extends SoccerMuri {
    YangYang(String name) {
        super(name);
    }
}

class Ruquia extends SoccerMuri implements AniRan6 {
    Ruquia(String name) {
        super(name);
    }

    public void erog() {
        System.out.println(getName() + "「ピカリンかわいいよピカリン」");
    }
}

class StudioMiris extends SoccerMuri implements AniRan6 {
    StudioMiris(String name) {
        super(name);
    }

    public void erog() {
        System.out.println(getName() + "「がっちゅみりみり」");
    }
}

public class ObjectStudy {
    public static void main(String args[]) {
        Object negi[] = {new Ruquia("ルキア"),
                         new StudioMiris("マラリヤ"),
                         new YangYang("ヤンヤン")};
        for (int i = 0; i < negi.length; i++) {
            ((SoccerMuri)negi[i]).soccer();
            ((AniRan6)negi[i]).erog();
        }
    }
}

最後にヤンヤンがExceptionを吐くのは意図した動作ですので、そこに関するツッコミは受け付けません。