当前位置:  首页>> 技术小册>> 编程入门课:Javascript从入门到实战

在ES6之前,JavaScript使用原型继承创建对象和构造函数,但是这种方式不够直观和易于理解。ES6引入了一种更面向对象的方式,即类和继承。

类是一种创建对象的模板,它包含属性和方法的定义,可以实例化为一个具体的对象。继承则是从一个已有的类派生出一个新的类,新的类继承了父类的所有属性和方法。

下面是一个简单的类的示例:

  1. class Person {
  2. constructor(name, age) {
  3. this.name = name;
  4. this.age = age;
  5. }
  6. sayHello() {
  7. console.log(`Hello, my name is ${this.name} and I am ${this.age} years old.`);
  8. }
  9. }
  10. let person1 = new Person('John', 25);
  11. person1.sayHello(); // Output: Hello, my name is John and I am 25 years old.

在这个例子中,我们定义了一个Person类,并使用constructor方法来初始化属性name和age。我们还定义了一个sayHello方法,该方法将打印出一个包含对象属性的字符串。最后,我们使用new关键字来创建一个Person对象,并调用sayHello方法。

接下来,我们将使用继承来创建一个Student类,它将继承Person类的属性和方法:

  1. class Student extends Person {
  2. constructor(name, age, grade) {
  3. super(name, age);
  4. this.grade = grade;
  5. }
  6. study() {
  7. console.log(`${this.name} is studying in grade ${this.grade}.`);
  8. }
  9. }
  10. let student1 = new Student('Jane', 19, 'A');
  11. student1.sayHello(); // Output: Hello, my name is Jane and I am 19 years old.
  12. student1.study(); // Output: Jane is studying in grade A.

在这个例子中,我们使用extends关键字创建了一个Student类,并在其构造函数中使用super方法来调用其父类构造函数。我们还定义了一个新方法study,该方法打印出一个学生的学年级别。最后,我们创建了一个Student对象,并调用其父类的sayHello方法和自己的study方法。

在这个例子中,我们可以看到继承的好处,我们可以轻松地扩展已有类的功能,而不必重新定义相同的属性和方法。


该分类下的相关小册推荐: