面向对象编程:类与对象(JavaScript)262
在 JavaScript 中,面向对象编程(OOP)是一种组织代码和设计复杂应用程序的强大方式。OOP 的核心概念是类和对象,它们允许您创建可重用的数据和行为模型。
类
类是对象蓝图,它定义了对象的属性(数据)和方法(行为)。
class Person {
// 属性
name;
age;
// 方法
greet() { ("Hello, my name is " + ); }
}
name 和 age 是类的两个属性,它们将存储特定对象的数据。
greet() 是一个方法,它定义了对象可以执行的行为。
this 关键字引用创建的对象。
对象
对象是类的实例,它们具有从类继承的属性和方法。
const person1 = new Person();
= "John";
= 30;
(); // "Hello, my name is John"
new Person() 创建了一个 Person 类的实例。
person1 是新创建的对象,它有 name 和 age 属性,以及 greet() 方法。
我们给 person1 对象的属性赋值。
我们调用 greet() 方法,它将输出 "Hello, my name is John"。
类方法
类方法是不属于任何特定对象的静态方法。它们可以用来访问和操作类本身。
class Person {
static create(name, age) {
const person = new Person();
= name;
= age;
return person;
}
}
create() 是一个静态类方法,它接收 name 和 age 作为参数。
它创建了一个新对象,设置属性,然后返回对象。
继承
继承允许一个类从另一个类派生属性和方法。子类可以创建特定的行为,同时仍然保留父类的功能。
class Employee extends Person {
// 额外的属性和方法
}
Employee 类继承自 Person 类。
它可以访问 Person 类的所有属性和方法。
Employee 类可以添加它自己的特定属性和方法。
多态
多态允许不同类型的对象对相同的方法做出不同的响应。这使得编写可扩展和可重用的代码成为可能。
class Animal {
makeNoise() {
("Animal makes a noise");
}
}
class Dog extends Animal {
makeNoise() { ("Woof!"); }
}
class Cat extends Animal {
makeNoise() { ("Meow!"); }
}
Animal 类是 Dog 和 Cat 类的父类。
所有动物都有一个 makeNoise() 方法。
Dog 和 Cat 类重写了 makeNoise() 方法,根据类型的不同提供不同的行为。
封装
封装允许您隐藏对象的内部实现,只公开必要的信息。这有助于提高代码的可重用性和安全性。
class Person {
#name; // 私有属性
getName() { return this.#name; } // 获取器方法
setName(name) { this.#name = name; } // 设置器方法
}
#name 是 Person 类中的一个私有属性。
getName() 和 setName() 是获取器和设置器方法,它们允许外部代码访问和修改私有属性。
类和对象是 JavaScript OOP 的基础。通过理解这些概念,您可以创建可重用、可扩展且易于维护的代码。OOP 对于构建复杂应用程序至关重要,它允许您管理复杂性并提高代码质量。
2025-01-02
下一篇:JavaScript 类与对象
JavaScript创意编程:从控制台到全栈,解锁互动体验的无限可能
https://jb123.cn/javascript/72111.html
驾驭复杂逻辑:Perl多层循环编程指南与优化实践
https://jb123.cn/perl/72110.html
Perl 字符串比较神器 `eq` 深度解析:与 `==` 的区别、用法与常见陷阱
https://jb123.cn/perl/72109.html
中文如何在脚本语言中大放异彩?——从代码书写到中文编程的全面解析与最佳实践
https://jb123.cn/jiaobenyuyan/72108.html
Perl脚本操作MySQL数据库:DML语句实战与最佳实践
https://jb123.cn/perl/72107.html
热门文章
JavaScript (JS) 中的 JSF (JavaServer Faces)
https://jb123.cn/javascript/25790.html
JavaScript 枚举:全面指南
https://jb123.cn/javascript/24141.html
JavaScript 逻辑与:学习布尔表达式的基础
https://jb123.cn/javascript/20993.html
JavaScript 中保留小数的技巧
https://jb123.cn/javascript/18603.html
JavaScript 调试神器:步步掌握开发调试技巧
https://jb123.cn/javascript/4718.html