JavaScript 継承
<script> //クラスベースなオブジェクト指向によく似た継承を実現する方法 //予め用意したMemberクラスを継承してSpecialMemberクラスを定義する function initializeBase(derive, base, baseArgs){ base.apply(derive, baseArgs); for(prop in base.prototype){ var proto = derive.constructor.prototype; if(!proto[prop]){ proto[prop] = base.prototype[prop]; } } } //Memberクラスを定義 var Member = function(firstName, lastName){ this.firstName = firstName; this.lastName = lastName; }; Member.prototype.getName = function(){ return this.lastName + ' ' + this.firstName; }; //Memberクラスを継承したSpecialMemberクラスを定義 var SpecialMember = function(firstName, lastName, role){ initializeBase(this, Member, [firstName, lastName]); this.role = role; } SpecialMember.prototype.isAdministrator = function(){ return (this.role == 'Administrator'); }; var mem = new SpecialMember('Jhon', 'Paul', 'Administrator'); document.writeln('名前:' + mem.getName()); document.writeln('管理者:' + mem.isAdministrator()); </script>
改訂新版JavaScript本格入門 ~モダンスタイルによる基礎から現場での応用まで
- 作者: 山田祥寛
- 出版社/メーカー: 技術評論社
- 発売日: 2016/09/30
- メディア: 大型本
- この商品を含むブログを見る