我目前正在嘗試使用JavaScript中的原型來創建類繼承,我理解如何在下面的簡單示例中工作。JavaScript繼承與父構造函數參數
var Person = function(){
var name = "Steve";
}
var Employee = function(){
var company = "Stack Overflow";
}
Employee.prototype = new Person;
var employee1 = new Employee();
但現在假設我要添加參數的構造函數,這樣我創建的對象,我可以設置的值。所以更新的代碼是這樣的:
var Person = function(initName){
var name = initName;
}
var Employee = function(initName, initCompany){
//How can I use initName to set the value in the prototype class?
var company = initCompany;
}
Employee.prototype = new Person;
var employee1 = new Employee("Bob", "Intel");
我怎麼能調用到人構造函數的名字嗎?在C#中(我最熟悉的語言),你可以簡單地調用基礎構造函數,並通過必要的參數,但似乎並沒有在javascript中有相同的模式。
供參考,這是它可能看起來像在C#:
public class Person
{
string name;
public Person(string initName)
{
name = initName;
}
}
public class Employee : Person
{
string company;
public Employee(string initName, string initCompany) : base(initName)
{
company = initCompany;
}
}
var employee1 = new Employee("Bob", "Intel");
免責聲明:正如你所看到的,我主要是一個面向對象編程,但我目前在JavaScript工作,所以一些我從JavaScript的角度來看可能是非感性的,隨時挑戰我的假設是必要的。
看到這個任務[https://stackoverflow.com/questions/4152931/javascript-inheritance-call-super-constructor-or-use-prototype-chain)離子。它擁有你正在尋找的所有東西 –
請參閱[Answer](https://stackoverflow.com/questions/4152931/javascript-inheritance-call-super-constructor-or-use-prototype-chain)。它擁有你正在尋找的一切。 –