javascript中的面向对象编程是什么_如何创建类?

JavaScript 的 OOP 基于原型,ES6 的 class 是语法糖;用 class 定义类,constructor 初始化属性,方法写在类体中;支持公有字段、static 静态成员;继承用 extends 和 super();所有方法仍在 prototype 上,原型链未变。

javascript中的面向对象编程是什么_如何创建类?

JavaScript 中的面向对象编程(OOP)是一种以“对象”为核心组织代码的方式,强调封装、继承和多态。虽然 JS 早期基于原型(prototype),但从 ES6 开始,它提供了 class 语法——这是一种更清晰、更接近传统 OOP 语言(如 Java、C++)的写法,但底层依然基于原型机制。

如何用 class 创建类?

使用 class 关键字定义类,配合 constructor 方法初始化实例属性,其他方法直接写在类体中:

示例:

class Person {  constructor(name, age) {    this.name = name;    this.age = age;  }  sayHello() {    console.log(`你好,我是${this.name}`);  }}const alice = new Person('Alice', 30);alice.sayHello(); // 你好,我是Alice

注意:class 声明不会被提升,必须先定义再使用;类内部方法默认不可枚举类体中只能放方法,不能直接写属性赋值(ES2022 起支持公有字段语法,见下文)

立即学习“Java免费学习笔记(深入)”;

如何添加实例属性与静态成员?

除了 constructor 中的 this.xxx,你还可以用公有字段语法(ES2022+)在类顶层声明实例属性;用 static 关键字定义静态方法或属性,它们属于类本身,不被实例继承:

公有字段(无需 constructor):name = 'default'; 静态方法:static createAdmin() { return new User('admin'); },调用方式:User.createAdmin() 静态属性:static VERSION = '1.0';,访问方式:User.VERSION

如何实现继承?

extends 关键字继承父类,子类构造器中必须调用 super()(否则报错),用于初始化父类的 this:

class Student extends Person {  constructor(name, age, grade) {    super(name, age); // 必须!    this.grade = grade;  }  study() {    console.log(`${this.name} 正在学习`);  }}const bob = new Student('Bob', 20, 'A');bob.sayHello(); // 继承自 Personbob.study();      // 自有方法

类只是语法糖,原型链仍在背后工作

class 并没有改变 JavaScript 的原型本质。上面的 Person 类,其方法仍挂在 Person.prototype 上;Student 继承实质是设置 Student.prototype.__proto__ === Person.prototype。理解这点,有助于调试和深入掌握继承行为。

基本上就这些。写 class 不复杂,但容易忽略 super 和原型关系——动手试几次,比死记语法更管用。

以上就是javascript中的面向对象编程是什么_如何创建类?的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1543568.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月21日 15:09:22
下一篇 2025年12月21日 15:09:37

相关推荐

发表回复

登录后才能评论
关注微信