es6中的类和继承

在ES6中实现了类。
  语法:class 类名 {}
  

 

ES6 之前定义类的方式:
  function People(title) { this.title= title; }  (传统的js没有类的概念,es5中通过构造函数来模拟类)
  
 
在类体中可以定义三类数据:
第一种实例数据:
  可以通过constructor构造函数定义自身属性或者是方法,这类数据会被当前实例化对象所访问
  
第二种原型数据:
  我们直接在类体中定义原型方法即可。
  
  如果要定义原型属性数据,则必须要使用get、set设置特性的方式来定义:get 取值器,set 赋值器
  
  由于对数据设置了特性,在查看对象的时候,这些数据将展示在自身。
第三种静态数据:
  静态数据 (通过类直接访问,而实例化对象是不能访问的
  定义静态数据的方式有两种:
    1 直接在类体中,在数据的前面加上static关键字即可
     
    2 在类体的外部,直接为类添加数据
    
    区别:
      在类体中添加的静态数据,设置了特性
      在类体外部添加的静态数据,没有设置特性
 
 
继承:
  
在ES6中实现了继承(特性寄生组合式继承)
  语法:class child extends father {}
  当继承了父类之后将得到父类中的所有内容(实例数据,原型数据,静态数据)
  可以重写继承过来的属性和方法,此时,子类将会优先使用重写的属性和方法
如果要重写构造函数,必须在构造函数中使用super关键字实现继承
  并且还要传递必要的参数
  在函数中定义的其它属性,一定要在super关键字之后定义

 

 

posted @ 2021-04-29 17:13  没有茅台喝啤酒也行  阅读(92)  评论(0编辑  收藏  举报