2017-04-25 122 views
0

我有兩個功能之一是Person和另一個Employee。 人是父類,員工應該是繼承類。 員工應該從Person繼承年齡和姓名,並且應該將employerName作爲自己的財產。Javascript中的繼承 - OOP

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

我寫的函數人爲:

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對象的引用):

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.