jsの原型継承


var object=//小文字のobject基本類を定義して、最も基礎的な方法を実現するためのなど{isA:function/一つの判断類とクラスの間及び対象とクラスの間の関係の基礎方法{var self=this;while(self==aType)return
function Class(aBaseClass、aClass Define)/作成類の関数は、声明類と相続関係のために使用されます.(function class()//作成類の臨時関数シェル{this.Type=aBaseClass;/各クラスにTmbone属性を約束します.その継承クラスfor(vamembathfine=)を参照します.;//レプリカ類のすべては現在作成されているクラスに定義されています.クラスメイト=aBaseClass;return new class();
function New(aClass,aParaams)//作成対象の関数は、任意の種類のオブジェクトに対して作成するために使用されます.;/私たちはすべての種類の構造関数をCreateと呼ぶことを約束します.これはDELPHIと比較的に似ています.
//文法甘露の応用効果:var Person=Class(object、/派生はobjectの基本類{Create:function(name、age){this.name=name;this.age=age;}、SayHello:function(){alert](“Hello、I’m+thise.+isage.)).
var Employee=Class(Person、/Person類に派生していますか?一般の対象言語と似ていますか?{Create:function(name、age、salary){Person.reate.call(this、name、age);/ベースの構造関数this.salaryを呼び出します.
        ShowMeTheMoney: function()
{alert}
var BillGates=New(Person、[[Bill Gates],53]);var Steve Jobs=New(Employee、[[Steve Jobs],53,1234]]BillGates.SayHello()Steve Jobs.SayHello()Steve Jobs.Show MeThe Money()var Little Bill=New(BillGates.Type、[[Little Bill],6])//BillGateのタイプに基づいて、LittleBill LittleBill.SayHello()を作成します.alert(BillGates.isA(Person)//true alert(BillGates.isA(Employee);false alert(Steve Jobs.isA(Person)//true alert(Person.isA)//false alert(Employee.isA(Person);true