javascript ってやっぱオブジェクト指向なんだな・・・・
prototype を使って継承するんだと思ってたけど、
callを使って簡単にできるんですね。ちょっと感動。
オーバーロードはさすがに無理として
(これを継承と言うなら)多重継承もできちゃいそうだな。
/* 哺乳類 */ function Mammal() { this.eat = _eat; function _eat() { alert("Mammal#eat"); } this.sleep = _sleep; function _sleep() { alert("Mammal#sleep"); } } /* 人 */ function Person() { Mammal.call(this,arguments); this.speak = _speak; function _speak() { alert("Person#speak"); } this.walk = _walk; function _walk() { alert("Person#walk"); } } /* 男 */ function Man() { Person.call(this,arguments); // オーバーライド this.sleep = _sleep; function _sleep() { alert("Man#sleep"); } } var man = new Man(); man.eat(); // -> Mammal#eat man.sleep(); // -> Man#sleep man.speak(); // -> Person#speak man.walk(); // -> Person#walk