我目前正在尝试使用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)。它拥有你正在寻找的一切。 –