かずきのBlog@hatena

日本マイクロソフトに勤めています。XAML + C#の組み合わせをメインに、たまにASP.NETやJavaなどの.NET系以外のことも書いています。掲載内容は個人の見解であり、所属する企業を代表するものではありません。

WinJSでクラスを混ぜる

WinJSのWinJS.Class.mixを使うとオブジェクトを混ぜ合わせることができるようになります。

犬と人のキメラ

名前を持って自己紹介出来るオブジェクトと、わんわんと鳴く犬を作ってmixで混ぜ合わせます。

// 自己紹介できる人
var Person = {
    name: {
        get: function () { return this._name; },
        set: function (v) { this._name = v; }
    },
    presentation: function () { console.log("私の名前は" + this.name + "です"); }
};

// 犬
var Dog = {
    voice: function() { console.log("わんわん"); }
};

// キメラ化!
var Chimera = WinJS.Class.mix(
    function(name) { this.name = name; },
    Person, Dog);

// 自己紹介も鳴くこともできる
var chimera = new Chimera("tanaka");
chimera.presentation(); // 私の名前はtanakaです
chimera.voice(); // わんわん

ふむ。混ぜ混ぜ。