类与ES6类之间的继承

news2024/11/14 22:57:16

前言

● 下面是之前学习ES6 classes的代码

class PersonCl {
  constructor(fullName, birthYear) {
    this.fullName = fullName;
    this.birthYear = birthYear;
  }

  calcAge() {
    console.log(2037 - this.birthYear);
  }

  greet() {
    console.log(`你好${this.fullName}`);
  }

  get age() {
    return 2037 - this.birthYear;
  }

  set fullName(name) {
    if (name.includes(' ')) this._fullName = name;
    else alert(`${name} is not a full name!`);
  }

  get fullName() {
    return this._fullName;
  }

  //静态方法
  static hey() {
    console.log('哈喽!');
  }
}

● 和之前一样,我们创建一个学生的类继承Personcl,并且学生也有自己独特的属性

class StudentCl extends PersonCl {}

const ITshare = new StudentCl('IT share', 2001);

我们即使没有写任何的构造函数,也可以直接继承父类

在这里插入图片描述

● 现在我们尝试写构造函数来给学生赋予新的属性,并且可以让学生继承父类的方法

class StudentCl extends PersonCl {
  constructor(fullName, birthYear, course) {
    //总是需要首先书写
    super(fullName, birthYear);
    this.course = course;
  }
}

const ItShare = new StudentCl('IT share', 2001, '计算机科学与技术');
console.log(ItShare);

在这里插入图片描述

● 可以像上一章一样再学生类中添加新的方法

class StudentCl extends PersonCl {
  constructor(fullName, birthYear, course) {
    //总是需要首先书写
    super(fullName, birthYear);
    this.course = course;
  }
  introduce() {
    console.log(`我的名字叫${this.fullName},我的专业是${this.course}`);
  }
}

const ItShare = new StudentCl('IT share', 2001, '计算机科学与技术');
ItShare.introduce();

在这里插入图片描述

● 当然,父类中的计算年龄的方法也同样适用

class StudentCl extends PersonCl {
  constructor(fullName, birthYear, course) {
    //总是需要首先书写
    super(fullName, birthYear);
    this.course = course;
  }
  introduce() {
    console.log(`我的名字叫${this.fullName},我的专业是${this.course}`);
  }
}

const ItShare = new StudentCl('IT share', 2001, '计算机科学与技术');
ItShare.introduce();
ItShare.calcAge();

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2083874.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JVM 锁的种类

优质博文:IT-BLOG-CN 一、JVM 锁【偏向锁|轻量级锁|重量级锁】 对象头[每个对象都具有对象头] Mark:对象头的标记(32位),描述对象的hash、锁信息、垃圾回收标记、年龄;内容包括:①、指向锁记录…

OpenShift 与 Rancher

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:Linux运维老纪的首页…

Nacos2.4.1安装

Nacos官网| Nacos 配置中心 | Nacos 下载| Nacos 官方社区 | Nacos 官网 下载后解压 进入解压目录/bin window启动命令 startup.cmd -m standalone 用的JDK环境17 遇到报错 第一个办法 退回2.4.0哈哈哈 nacos配置为JDK1.8,而JDK17开始使用按模块引入包语法…

阀控多功能智能水表是什么?

阀控多功能智能水表是一种集成了多种先进技术和功能的新型水表,主要用于精确计量和控制水流量。这类水表不仅能够提供准确的数据记录,还具备远程控制、故障报警、数据分析等多种智能功能,适用于住宅、商业和工业等多种应用场景。本文将深入探…

泽众P-One性能测试平台中的环境管理与施压集群分配

P-One是泽众软件自主研发的一站式性能测试平台,在软件性能测试中发挥着重要作用。其中,环境管理和施压集群分配是P-One的关键功能,对于确保测试的准确性和有效性至关重要。 一、环境部署 P-One可以对已安装的压力机进行集中管理,…

240828-Gradio结合Html+Css+Javascript制作年历

A. 最终效果 需求描述 html javascript css 按年生成2016年至2116年的日历,要求如下: 二行六例,每个单元是一个月,且每个单元包含周次信息通过背景为红色的圆圈高亮显示当前的日期第一页显示今年,鼠标左边或键盘左键…

电梯按钮检测检测系统源码分享 # [一条龙教学YOLOV8标注好的数据集一键训练_70+全套改进创新点发刊_Web前端展示]

电梯按钮检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vis…

RKNPU入门与实践 ---- 混合量化

目录 前言 一、混合量化 1.1 概念介绍 1.1.1 hybrid_quantization_step1 1.1.2 hybrid_quantization_step2 二、实际编写程序 2.1混合量化第一阶段 2.2 混合量化第二阶段 三、混合量化第一步接口参数proposal 前言 为什么要进行混合量化? 答案&#x…

Zookeeper未授权访问的漏洞处理

echo envi |nc 192.168.0.1 2181 这个命令可以用于获取Zookeepr(下面有zk代替)目标服务器的环境信息、部署路径、版本等敏感信息。如果这些信息被恶意利用,确实可能导致安全漏洞,进而对网络和服务器安全构成威胁。 1.执行zkCli.…

XSS LABS - Level 17 过关思路

关注这个靶场的其他相关笔记:XSS - LABS —— 靶场笔记合集-CSDN博客 0x01:过关流程 进入靶场,空空如也,右击页面,查看网页源码,找找可疑点: 可以看到,靶场默认传参,都传…

初赛试题-2022年CSP-J2

目录 先言 二、阅读程序(判断题1.5分,选择题3分,共40分) (1) 16. 17. 18. 19. 20. 21. (2) 22. 23. 24. 25. 26. 27. (3) 28. 29. 30. 3…

18.神经网络 - 非线性激活

神经网络 - 非线性激活 使用到的pytorch网站: Padding Layers(对输入图像进行填充的各种方式) 几乎用不到,nn.ZeroPad2d(在输入tensor数据类型周围用0填充) nn.ConstantPad2d(用常数填充) 在 …

【图像】灰度图与RGB图像的窗宽、窗位的值范围二三问

1. 16位灰度图的窗宽、窗位的值范围? 对于16位的灰度图像,每个像素点可以表示从0到2^16-1(即0至65535)之间的强度值。在医学影像领域,如CT扫描图像中,窗宽和窗位是用来调整图像对比度和亮度的参数&#xf…

【Spring Boot 3】【Web】自定义过滤器

【Spring Boot 3】【Web】自定义过滤器 背景介绍开发环境开发步骤及源码工程目录结构总结背景 软件开发是一门实践性科学,对大多数人来说,学习一种新技术不是一开始就去深究其原理,而是先从做出一个可工作的DEMO入手。但在我个人学习和工作经历中,每次学习新技术总是要花费…

fabricjs 添加图片并实时更新小车位置

需求:添加小车图片到画布中, 后端通过ws实时更新小车位置 实际过程中遇到的问题: 设置中心点:我想把图片的中心设置为后端传来的坐标点,可以通过设置对象的originX和originY属性来改变对象的旋转和定位基点。让小车…

error:0308010C:digital envelope routines::unsupported【超详细图解】

目录 一、报错信息 二、分析原因 三、解决方案 一、报错信息 二、分析原因 node.js 18 不兼容oppsll,node.js v17以上版本中最近发布的OpenSSL3.0, 而OpenSSL3.0对允许算法和密钥大小增加了严格的限制 三、解决方案 方案1:打开终端,直接输入…

Zotero7最新(2024)安装、配置步骤

提醒: 绝大部分插件都已经适配了 Zotero 7,但是 ZotFile 插件已经停止对 Zotero 7 的支持,可以使用 Attanger 插件 替代。如果不适应还是建议装Zotero 6 一、安装 1、进入官网,点击下载进入下载界面 https://www.zotero.org/h…

OpenCV绘图函数(7)从一个椭圆定义中提取出多边形的顶点坐标函数ellipse2Poly()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 近似一个椭圆弧为一个多边形线。 函数 ellipse2Poly 计算近似指定椭圆弧的多边形线的顶点。它被 ellipse 函数所使用。如果 arcStart 大于 arcEn…

[羊城杯 2024] Crypto

文章目录 TH_Curvebaby_CurveRSA_lossTheoremPlus TH_Curve 题目描述: from Crypto.Util.number import * from secret import flagdef add_THcurve(P, Q):if P (0, 0):return Qif Q (0, 0):return Px1, y1 Px2, y2 Qx3 (x1 - y1 ** 2 * x2 * y2) * pow(a * …

使用统计方法在AMD GPU上使用JAX Profiler可靠地比较大型生成AI模型中的算法性能

Using statistical methods to reliably compare algorithm performance in large generative AI models with JAX Profiler on AMD GPUs — ROCm Blogs 摘要 本文提供了一份详细的指南,介绍如何在JAX实现的生成AI模型中测量和比较各种算法的性能。利用JAX Profiler…