js class定义类,私有属性,类继承,子类访问父类的方法,重写父类的方法

1.使用#定义私有属性

2.使用extends实现类继承

3.使用子类使用super访问父类的方法

4.子类可以重新父类的方法

javascript 复制代码
      class People {
        #hisroy = []
        getHistroy() {
          return [...this.#hisroy]
        }
        addHisroy(message) {
          this.#hisroy.push({
            role: 'user',
            message,
          })
          this.addHisroy2(message)
        }
        addHisroy2(message) {
          this.#hisroy.push({
            role: 'robot',
            message: 'Robot:' + message,
          })
        }
        addHisroy3(message) {
          this.#hisroy.push({
            role: 'user',
            message,
          })
        }
        clearHistory() {
          this.#hisroy = []
        }
      }
      class Student extends People {
        addHisroy(message) {
          if (message.includes('weather')) {
            super.addHisroy3(message)
            super.addHisroy2('天气晴朗')
          } else {
            super.addHisroy(message)
          }
        }
      }
      let p1 = new People()
      p1.addHisroy('hello')
      console.log(p1.getHistroy())
      p1.clearHistory()
      console.log(p1.getHistroy())

      let t1 = new Student()
      t1.addHisroy('hello')
      console.log(t1.getHistroy())
      t1.addHisroy('what is the weather?')
      console.log(t1.getHistroy())
      t1.clearHistory()
      console.log(t1.getHistroy())

https://www.kancloud.cn/fundebug/fundebug-blog/1039647

https://jamie.build/javascripts-new-private-class-fields.html

相关推荐
wuhen_n2 分钟前
JavaScript数据结构深度解析:栈、队列与树的实现与应用
前端·javascript
我是一只puppy8 分钟前
使用AI进行代码审查
javascript·人工智能·git·安全·源代码管理
颜酱8 分钟前
从二叉树到衍生结构:5种高频树结构原理+解析
javascript·后端·算法
狗哥哥23 分钟前
微前端路由设计方案 & 子应用管理保活
前端·架构
TT哇1 小时前
【实习 】银行经理端两个核心功能的开发与修复(银行经理绑定逻辑修复和线下领取扫码功能开发)
java·vue.js
前端大卫1 小时前
Vue3 + Element-Plus 自定义虚拟表格滚动实现方案【附源码】
前端
却尘1 小时前
Next.js 请求最佳实践 - vercel 2026一月发布指南
前端·react.js·next.js
ccnocare1 小时前
浅浅看一下设计模式
前端
Lee川1 小时前
🎬 从标签到屏幕:揭秘现代网页构建与适配之道
前端·面试
Ticnix2 小时前
ECharts初始化、销毁、resize 适配组件封装(含完整封装代码)
前端·echarts