2017-04-25 20 views
0

私はPersonと別のEmployeeの2つの機能を持っています。 Personは親クラスであり、従業員はclassを継承する必要があります。 従業員は年齢と名前をPersonから継承し、employerNameを独自のプロパティとして持つ必要があります。Javascriptでの継承 - OOP

従業員関数を記述する方法
function Person(age,name){  
    this.age = age; 
    this.name = name;  
} 

: 私はこのような試みた:

function Employee(employerName){  
    this.employerName = employerName ;  
} 

Employee.prototype = new Person(10,'Jack'); 
var p1 = new Person(10, 'Jack'); 

を従業員の関数を記述するためにどのように私のように機能パーソンを書かれている

Person // age, name 
Employee //age, name, employerName 

このようなインスタンスを作成する(Personオブジェクトの参照を渡す方法):

e1 = new Employee(25, 'John', 'eBay'); 
e2 = new Employee(26, 'John-1', 'XYZ'); 

答えて

0

私はあなたがES6で利用可能なclassesを使用することをお勧めします。 MDNドキュメントによる

:ECMAScriptの2015年に導入さ

JavaScriptのクラスには、JavaScriptの既存のプロトタイプベースの継承を介して構文砂糖です。クラス構文では、JavaScriptに新しいオブジェクト指向の継承モデルが導入されていません。 JavaScriptクラスは、オブジェクトを作成して継承を処理するためにはるかに簡単で分かりやすい構文を提供します。

class Person { 
 
    constructor(age, name) { 
 
    this.age = age; 
 
    this.name = name; 
 
    } 
 
} 
 

 
class Employee extends Person { 
 
    constructor(age, name, employerName) { 
 
    super(age, name); 
 
    this.employerName = employerName; 
 
    } 
 
} 
 

 
let e1 = new Employee(25, 'John', 'eBay'), 
 
    e2 = new Employee(26, 'John-1', 'XYZ'); 
 
    
 
console.log(e1); 
 
console.log(e2);

More information about classes.