复习类相关知识

简介: 复习类相关知识

1.实例对象

 

<script type="text/javascript">
        class Person {
        }
        const p1 = new Person();
        console.log(p1);
    </script>

控制台输出



2.代码示例:

A.通过person调用实例,那么对象就是指向person实例

 

<script type="text/javascript">
        class Person {
            constructor(age, name) {
                this.age = age
                this.name = name
            }
            speak() {
                console.log(`my age is ${this.age},my name is ${this.name}`, );
            }
        }
        const p1 = new Person(19, "劳志驰");
        console.log(p1);
        p1.speak();


B.改变this指向的方法,使用call()函数;



p1.speak.call({
a: 1,
b: 2
});



3.类的继承


        class Person {
            constructor(age, name) {
                this.age = age
                this.name = name
            }
            speak() {
                console.log(`my age is ${this.age},my name is ${this.name}`, );
            }
        }
        const p1 = new Person(19, "劳志驰");
        class Student extends Person {
            constructor(age, name, address) {
                super(age, name);
                this.address = address
            }
        }
        const student = new Student(12, 'laozhichi', "leizhou")
        console.log(student);

也可以复写父类的方法:就是父类和子类都有一个speak()函数

<script type="text/javascript">
        class Person {
            constructor(age, name) {
                this.age = age
                this.name = name
            }
            speak() {
                console.log(`my age is ${this.age},my name is ${this.name}`);
            }
        }
        const p1 = new Person(19, "劳志驰");
        class Student extends Person {
            constructor(age, name, address) {
                super(age, name);
                this.address = address
            }
            speak() {
                console.log(`my age is ${this.age},my name is ${this.name},my school is ${this.address}`);
            }
        }
        const student = new Student(12, 'laozhichi', "leizhou")
        console.log(student);
        student.speak();
    </script>


相关文章
QT中 QPlainTextEdit自适应高度的问题(防止出现滚动条)
在QT开发过程中,经常使用到QPlainTextEdit来填入大量的文字,一般我们都会设置QPlainText的固定高度或者默认高度,但是随着文字的增多,就会自动出现滚动条,有时候我们可能需要QPlainText的高度随着自动适应文字的高度(即是说不需要出现滚动条)
764 0
|
缓存 小程序 前端开发
【Uniapp】小程序携带Token请求接口+无感知登录方案2.0
【Uniapp】小程序携带Token请求接口+无感知登录方案2.0
554 0
|
6月前
|
监控 Linux C++
【实战指南】4步实现C++插件化编程,轻松实现功能定制与扩展(2)
本文是《4步实现C++插件化编程》的延伸,重点介绍了新增的插件“热拔插”功能。通过`inotify`接口监控指定路径下的文件变动,结合`epoll`实现非阻塞监听,动态加载或卸载插件。核心设计包括`SprDirWatch`工具类封装`inotify`,以及`PluginManager`管理插件生命周期。验证部分展示了插件加载与卸载的日志及模块状态,确保功能稳定可靠。优化过程中解决了动态链接库句柄泄露问题,强调了采纳用户建议的重要性。
216 92
【实战指南】4步实现C++插件化编程,轻松实现功能定制与扩展(2)
|
5月前
|
存储 人工智能 前端开发
2025年解析 AI 编程:当前水平与对程序员的影响-优雅草卓伊凡
2025年解析 AI 编程:当前水平与对程序员的影响-优雅草卓伊凡
152 8
2025年解析 AI 编程:当前水平与对程序员的影响-优雅草卓伊凡
|
消息中间件 存储 Java
使用Java构建实时数据处理流程
使用Java构建实时数据处理流程
|
10月前
|
监控 负载均衡 算法
深入探索微服务架构下的服务治理
深入探索微服务架构下的服务治理
137 0
|
IDE Java 开发工具
06. 【Java教程】Java 集成开发环境 - Eclipse
06. 【Java教程】Java 集成开发环境 - Eclipse
209 1
|
前端开发 小程序 API
【微信小程序】使用 Promise、async 和 await 将异步API 改写为同步
【微信小程序】使用 Promise、async 和 await 将异步API 改写为同步
447 0
|
前端开发 Java Spring
SpringMVC 中的视图如何使用 Thymeleaf
SpringMVC 中的视图如何使用 Thymeleaf
|
机器学习/深度学习 人工智能 分布式计算
主从模式(Master-Slave Architecture)
主从模式(Master-Slave Architecture)
811 0