我们来详细讲解一下“JavaScript关于继承的小例子”的完整攻略。
基本概念
在 JavaScript 中,继承是一种重要的功能,它允许我们通过创建一个新对象来扩展已有的对象。通过继承,我们可以避免重复编写相同的代码,提高代码复用性,同时也可以提高程序的灵活性。
JavaScript 中的继承实现方式有很多种,其中最常见的两种方式是原型链继承和类继承。
原型链继承
原型链继承是通过继承父对象的原型来实现的,这种方式可以继承父对象的属性和方法,并将它们添加到新对象的原型中。
下面是一个简单的例子:
// 定义一个人对象
function Person(name, age) {
this.name = name;
this.age = age;
}
// 为人对象添加一个方法
Person.prototype.sayHello = function() {
console.log('Hello, my name is ' + this.name + ', I am ' + this.age + ' years old.');
}
// 定义一个学生对象,并通过原型链继承人对象
function Student(name, age, grade) {
this.grade = grade;
Person.call(this, name, age);
}
Student.prototype = new Person();
// 为学生对象添加一个方法
Student.prototype.sayGrade = function() {
console.log('My grade is ' + this.grade + '.');
}
// 创建一个学生对象
var s = new Student('Tom', 12, 6);
s.sayHello(); // Hello, my name is Tom, I am 12 years old.
s.sayGrade(); // My grade is 6.
在上面的例子中,我们定义了一个人对象 Person
,并给它添加了一个方法 sayHello
。然后,我们通过原型链继承 Person
对象,创建了一个学生对象 Student
,并给它添加了一个方法 sayGrade
。最后,我们创建了一个学生对象 s
,并调用了它的 sayHello
和 sayGrade
方法。
可以看到,原型链继承是一种非常简单而且灵活的继承方式,能够很好地满足我们的需求。
类继承
类继承是通过创建一个新的类来继承已有的类,这种方式可以继承类的属性和方法,并将它们添加到新类中。
下面是一个简单的例子:
// 定义一个人类
class Person {
constructor(name, age) {
this.name = name;
this.age = age;
}
// 定义一个方法
sayHello() {
console.log(`Hello, my name is ${this.name}, I am ${this.age} years old.`);
}
}
// 定义一个学生类,并继承人类
class Student extends Person {
constructor(name, age, grade) {
super(name, age);
this.grade = grade;
}
// 定义一个方法
sayGrade() {
console.log(`My grade is ${this.grade}.`);
}
}
// 创建一个学生对象
const s = new Student('Tom', 12, 6);
s.sayHello(); // Hello, my name is Tom, I am 12 years old.
s.sayGrade(); // My grade is 6.
在上面的例子中,我们定义了一个人类 Person
,并给它添加了一个方法 sayHello
。然后,我们通过继承 Person
类,创建了一个学生类 Student
,并给它添加了一个方法 sayGrade
。最后,我们创建了一个学生对象 s
,并调用了它的 sayHello
和 sayGrade
方法。
可以看到,类继承是一种非常简便而且易于理解的继承方式,能够很好地满足我们的需求。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:javascrip关于继承的小例子 - Python技术站