当前位置:网站首页>ES6 learning notes (2): teach you to play with class inheritance and class objects

ES6 learning notes (2): teach you to play with class inheritance and class objects

2020-11-06 20:48:00 Tell me Zhan to hide

Inherit

Inheritance in programs : Subclasses can inherit some properties and methods of the parent class

class Father {
    // Parent class 
  constructor () {
   
    }
	money () {
   
  	console.log(100)
  }
}
class Son extends Father {
     // Subclass inherits parent 
}
let son = new Son()
son.money() // 100
son.

super keyword

super Keyword is used to access and call functions on the object's parent class , You can call the constructor of the parent class , You can also call the normal function of the parent class

class Father {
    // Parent class 
  constructor (x, y) {
   
    this.x = x
    this.y = y
    }
	money () {
   
  	console.log(100)
  }
  sum () {
   
  	console.log(this.x + this.y)
  }
}
class Son extends Father {
     // Subclass inherits parent 
	constructor (x, y) {
   
 	 	super(x, y) // Called the constructor in the parent class 
  }
}
let son = new Son(1,2)
son.sum() // 3
son.

The characteristics of inheritance :

  1. In the inheritance , If you instantiate a subclass and output a method , Let's see if the subclass has this method , If so, execute subclasses first ,( Nearby principle )
  2. In the inheritance , If the subclass doesn't have , To find whether the parent class has this method , If there is , Just execute this method of the parent class
  3. In a subclass , It can be used super Call the method of the parent element
class Father {
   
	say() {
   
  	return ' I am the father element '
  }
  sing() {
   
  	return ' Father element sings a song '
  }
    
}
class Son extends Father {
   
	say() {
   
    console.log(' I'm a child element ')
  }
  sing() {
   
  	console.log(super.sing())
  }
}
var son = new Son()
son.say() // I'm a child element 
son.sing() //

The child element can inherit the method of the parent element at the same time , Child elements can also extend their own other methods , Subclasses are used in constructors super When calling the constructor of the parent class , Must be placed in subclass of this Previous call

class Father {
   
	constructor(x, y) {
   
  	this.x = x
    this.y = y
  }
  sum() {
   
  	console.log(this.x + this.y)
  }
}

class Son extends Father {
   
	constructor(x,y) {
   
     // utilize super  Call the constructor of the parent class 
    super(x,y)
  	this.x = x
    this.y = y
  }
  subtract() {
   
  	console.log(this.x - this.y)
  }
}
let son = new Son(5,3)
son.subtract() // 2
son.sum() //8

ES6 Of classes and objects in 4 A note :

  1. stay ES6 The middle class has no variable promotion , So you have to define the class first , To instantiate an object through a class
  2. The common properties and methods in the class must be added with this Use
  3. The inside of the class this Point to the problem
  4. constructor Inside this Point to instance object , Method this To the callers of this method

summary

This article mainly shares , About class inheritance 、 Inheritance needs to be used extends,super、ES6 Attention points of class and object in .

版权声明
本文为[Tell me Zhan to hide]所创,转载请带上原文链接,感谢