JS:原型与原型链
warning:
这篇文章距离上次修改已过204天,其中的内容可能已经有所变动。
// 创建一个构造函数Person
function Person(name) {
this.name = name;
}
// 在Person的原型上定义一个方法greet
Person.prototype.greet = function() {
return 'Hello, my name is ' + this.name;
};
// 创建一个Person的实例
var person1 = new Person('Alice');
// 输出person1的greet方法调用结果
console.log(person1.greet()); // 输出: Hello, my name is Alice
// 创建另一个构造函数Employee
function Employee(name, position) {
Person.call(this, name); // 使用call方法继承Person构造函数的属性
this.position = position;
}
// 设置Employee的原型为Person的实例,继承greet方法
Employee.prototype = new Person();
// 在Employee的原型上添加一个新方法getInfo
Employee.prototype.getInfo = function() {
return this.name + ', ' + this.position;
};
// 创建一个Employee的实例
var employee1 = new Employee('Bob', 'Software Engineer');
// 输出employee1的greet和getInfo方法调用结果
console.log(employee1.greet()); // 输出: Hello, my name is Bob
console.log(employee1.getInfo()); // 输出: Bob, Software Engineer
// 图解和代码展示了如何在JavaScript中使用原型和原型链来实现继承和多态。
// 这是JavaScript中实现继承和扩展对象功能的一种常见模式。
这段代码展示了如何创建一个构造函数Person
和另一个构造函数Employee
,并通过原型链和call
方法实现继承。Employee
继承了Person
的属性和方法,并添加了自己的方法。这是JavaScript中实现继承的一种常见模式。
评论已关闭