다형성의 구현은 상속과 유사한 방법을 채택 할 수 있습니다. 먼저, 일부 가상 메소드가 호출되는 추상 클래스를 정의하십시오. 가상 방법은 추상 클래스에서 정의되지 않지만 구체적인 구현 클래스를 통해 구현됩니다.
다음 예에서와 같이 :
Object.extend = function (대상, 소스) {for (소스의 속성) {대상 [속성] = 소스 [속성]; } 반품 목적지; } // 생성자 함수 base () {}가없는 추상 기본 클래스베이스를 정의합니다. base.prototype = {initialize : function () {this.oninit (); // 가상 메소드는}}}}}}}} {// prossuctor} subclassa.prototype = object.extend ({propinsubclassa : "propinsubclassa", oninit (this.propinsubclassa); }, base.prototype); 함수 subclassb () {// 생성기} subclassb.prototype = object.extend ({propinsubclassb : "propinsubclassb", oninit : alert (this.propinsubclassb);}}, base.prototype); var obja = 새로운 subclassa (); obja.initialize (); // output "propinsubclassa"var objb = new subclassb (); objb.initialize (); // 출력 "propinsubclassb"먼저, 추상 기본 클래스베이스가 정의됩니다. Oninit 메소드는 기본 클래스의 초기화 메소드에서 호출되지만 기본 클래스는 Oninit 메소드의 구현 또는 선언을 사용하지 않습니다. 서브 클래사 및 서브 클래스 클래스는 기본 클래스에서 상속되어 다른 방식으로 Oninit 방법을 구현합니다.