iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > node.js >ES6中class类的示例分析
  • 641
分享到

ES6中class类的示例分析

2024-04-02 19:04:59 641人浏览 独家记忆
摘要

这篇文章主要介绍了es6中class类的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。class 类通过class可以定义类,新的c

这篇文章主要介绍了es6中class类的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

class 类

通过class可以定义类,新的class写法只是让对象原型的写法更加清晰,更像面向对象编程的语法而已。

  • 1 class  声明类

  • 2 constructor  定义构造函数初始化

  • 3 extends  继承父类

  • 4 super  调用父级构造方法

  • 5 static  定义静态方法和属性

  • 6 父类方法可以重写

es5通过 构造函数实例化 对象的方法

    // 人
    function People(name, sex) {
      this.name = name;
      this.sex = sex;
    }
    // 这个height这种添加方式是属于函数对象的,不属于实例对象,这样的属性称之为静态成员
    People.height = '180';
    People.prototype.height1 = '100';
    // 添加方法
    People.prototype.play = function(){
      console.log('打篮球');
    }
    let zn = new People('zhangning', '男');
    zn.play();// 输出 打篮球
    console.log(zn);
    console.log(zn.height);// 输出 undefined 
    console.log(zn.height1);// 输出 100,必须通过prototype添加才能添加到实例对象上

通过class实现

    class People{
      // 静态属性 static,对于static 标注的方法属于类,不属于实例对象
      static height = '100';
      static change(){
        console.log('我可以改变世界');
      }
      // 构造方法 名字不能更改(在使用new People的时候会自动执行实例对象上的constructor方法)       
      constructor(name, sex){
        this.name = name;
        this.sex = sex;
      }
      // 添加方法必须使用该语法,不能使用es5的完整形式(play: function(){} 这种形式不支持,必须使用play()形式)
      // 成员属性
      play(){
        console.log('打篮球');
      }
    }
    let zn = new People('zhangning', '男');
    console.log(zn);
    console.log(zn.height);// undefined  static 标注的方法属于类,不属于实例对象
    console.log(People.height);// 100

使用es5构造函数实现继承

    // 举例 chinese 继承 People 属性
    function People(name, sex) {
      this.name = name;
      this.sex = sex;
    }
    People.prototype.play = function(){
      console.log('打LOL');
    }
    function Student(name, sex, like, height){
      // 通过call方法,改变this值,this指向chinese中的this,也就是chinese的一个实例对象
      People.call(this, name, sex);
      this.like = like;
      this.height = height;
    }
    // 设置子集构造函数原型
    Student.prototype = new People;// 这样就会有父级的一个方法
    Student.prototype.constructor = Student;// 做一个校正,没有这行代码也无所谓
    // 声明子类方法
    Student.prototype.photo = function(){
      console.log('去拍照');
    }
    // 实例化
    const zn = new Student('zhangning', '男', '打篮球', '187');
    console.log(zn)

使用es6 class 类 实现继承 及 父类方法的重写

    // 声明父类
    class People{
      // 父类构造方法
      constructor(name, sex) {
        this.name = name;
        this.sex = sex;
      }
      // 父类成员属性
      play(){
        console.log('打LOL');
      }
    }
    // 声明子类 使用extends 继承父类
    class Student extends People {
      // 构造方法
      constructor(name, sex, like, height){
        super(name, sex);// super 就是父类的constructor构造函数,这样调用
        this.like = like;
        this.height = height;
      }
      photo(){
        console.log('去拍照');
      }
      // 对父类中的play方法进行重写,子类是不能去调用父类的同名方法的,


      play(){
        // super(); 不允许,在普通的成员方法里面是不能出现super()去调用父类的同名方法的,会报错,只能完全重写
        console.log('我会打LOL,还会打篮球');
      }
    }
    const zn = new Student('zhangning', '男', '打篮球', '187');
    console.log(zn)

class 中 getter 和 setter 设置

    class People{
      get like(){
        return '打篮球';
      }
      set like(newVal){
        // 通过传过来的newVal值,进行操作,改变 like
        console.log('改变like值');
      }
    }
    let p = new People();
    console.log(p.like)// 输出 打篮球
    p.like = 'LOL';// 然后通过 set like 进行操作

感谢你能够认真阅读完这篇文章,希望小编分享的“ES6中class类的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网node.js频道,更多相关知识等着你来学习!

--结束END--

本文标题: ES6中class类的示例分析

本文链接: https://www.lsjlt.com/news/96123.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • ES6中class类的示例分析
    这篇文章主要介绍了ES6中class类的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。class 类通过class可以定义类,新的c...
    99+
    2022-10-19
  • ES6 javascript中Class类继承的示例分析
    小编给大家分享一下ES6 javascript中Class类继承的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!具体如下:1. 基本用法Class 之间可以通过extends关键字...
    99+
    2022-10-19
  • ES6中类的示例分析
    小编给大家分享一下ES6中类的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!ES5近似结构在ES5中没有类的概念,最相近...
    99+
    2022-10-19
  • java中class实例的示例分析
    这篇文章将为大家详细讲解有关java中class实例的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、结构说明(1)class:外部类,成员(成员内部类,静态内部类),局部内部类,匿名内部类(2...
    99+
    2023-06-15
  • es6中class类静态方法,静态属性,实例属性,实例方法的示例分析
    这篇文章主要为大家展示了“es6中class类静态方法,静态属性,实例属性,实例方法的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“es6中class类...
    99+
    2022-10-19
  • ES6中Iterators的示例分析
    这篇文章主要为大家展示了“ES6中Iterators的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“ES6中Iterators的示例分析”这篇文章吧。简...
    99+
    2022-10-19
  • ECMAScript6中Class对象的示例分析
    这篇文章主要为大家展示了“ECMAScript6中Class对象的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“ECMAScript6中Class对象的...
    99+
    2022-10-19
  • JavaScript和TypeScript中class的示例分析
    这篇文章主要介绍了JavaScript和TypeScript中class的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、静态成员...
    99+
    2022-10-19
  • js中class类、super和extends关键词的示例分析
    小编给大家分享一下js中class类、super和extends关键词的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!正文1.es6之前创建对象先来看下e...
    99+
    2023-06-20
  • Python中Class类用法实例分析
    本文实例讲述了Python中Class类用法。分享给大家供大家参考,具体如下: 尽管Python在Function Programming中有着其他语言难以企及的的优势,但是我们也不要忘了Python也是一...
    99+
    2022-06-04
    实例 Python Class
  • es6和es5的示例分析
    什么是es6和es5,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。ES5是:strict模式、Array增加方法、Object方法;ES6是:...
    99+
    2022-10-19
  • ES6中Math对象的示例分析
    这篇文章主要为大家展示了“ES6中Math对象的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“ES6中Math对象的示例分析”这篇文章吧。1、Math....
    99+
    2022-10-19
  • ES6中Generator函数的示例分析
    这篇文章主要为大家展示了“ES6中Generator函数的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“ES6中Generator函数的示例分析”这篇文...
    99+
    2022-10-19
  • ES6中Map集合的示例分析
    这篇文章将为大家详细讲解有关ES6中Map集合的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Map集合类似于对象,也是键值对的集合,但是 键 不限于字符串,各种...
    99+
    2022-10-19
  • ES6中集合set的示例分析
    这篇文章给大家分享的是有关ES6中集合set的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。集合set新的数据结构Set(集合),它类似于数组,成员的值都是唯一的,集合实...
    99+
    2022-10-19
  • Vue.js中Class与Style绑定的示例分析
    这篇文章主要介绍了Vue.js中Class与Style绑定的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Vue.js Class与Style绑定对于数据绑定,一个常...
    99+
    2023-06-26
  • Vue中Class与Style绑定的示例分析
    这篇文章主要为大家展示了“Vue中Class与Style绑定的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Vue中Class与Style绑定的示例分析...
    99+
    2022-10-19
  • ES6新特性之类和继承的示例分析
    这篇文章主要介绍了ES6新特性之类和继承的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、类(Class)1.基本语法JavaSc...
    99+
    2022-10-19
  • es6作用域的示例分析
    这篇文章主要介绍es6作用域的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!   作用域?   几乎所有的编程语言的最基础模型之一就是在变量中储存值,并且取出修改这些的值...
    99+
    2022-10-19
  • ES6中正则扩展的示例分析
    这篇文章将为大家详细讲解有关ES6中正则扩展的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体如下:1. RegExp构造函数ES5中,RegExp构造函数的参...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作