JavaScript 类封装174
简介
在 JavaScript 中,类封装是指通过将属性和方法组织到一起,创建一个对象或一组对象,以表示现实世界中的某个实体或概念。类封装有助于构建结构化和可维护的代码,同时提高代码的可读性和可重用性。
类声明
JavaScript 中使用 class 关键字声明类。类的语法如下:```js
class ClassName {
// 类属性
propertyName = value;
// 类方法
methodName() {
// 方法体
}
}
```
类实例化
要创建类的实例,可以使用 new 关键字。实例化类的语法如下:```js
const instance = new ClassName();
```
类属性
类属性是类中的数据成员,代表类的状态。属性可以用 this 关键字访问,也可以通过点表示法从实例中访问。```js
class Person {
constructor(name, age) {
= name;
= age;
}
}
const person1 = new Person('John', 30);
(); // 输出:John
```
类方法
类方法是类中的函数成员,表示类的行为。方法可以用 this 关键字访问,也可以通过点表示法从实例中调用。```js
class Animal {
constructor(type) {
= type;
}
speak() {
(`我是 ${},我会说话!`);
}
}
const dog = new Animal('狗');
(); // 输出:我是狗,我会说话!
```
访问修饰符
JavaScript 中的类支持访问修饰符来控制属性和方法的访问权限。有三个访问修饰符:* public:属性和方法可以在类的外部和内部访问。
* private:属性和方法只能在类的内部访问。
* protected:属性和方法只能在类的内部或派生类中访问。
```js
class Person {
#name; // 私有属性
constructor(name) {
this.#name = name;
}
getName() { // 公共方法
return this.#name;
}
}
const person1 = new Person('John');
(person1.#name); // 出错:不能直接访问私有属性
(()); // 输出:John
```
继承
JavaScript 中的类支持继承,允许一个类(子类)从另一个类(父类)继承属性和方法。使用 extends 关键字实现继承。```js
class Animal {
constructor(type) {
= type;
}
speak() {
(`我是 ${},我会说话!`);
}
}
class Dog extends Animal {
constructor(name) {
super(name); // 调用父类构造函数
= name;
}
bark() {
(`我是 ${},我会吠叫!`);
}
}
const dog1 = new Dog('旺财');
(); // 输出:我是狗,我会说话!
(); // 输出:我是旺财,我会吠叫!
```
静态方法
静态方法是与类本身关联而不是类实例的方法。静态方法使用 static 关键字声明,并且可以通过类名直接调用。```js
class Person {
static createEmptyPerson() {
return new Person('', 0);
}
}
const emptyPerson = ();
(); // 输出:
(); // 输出:0
```
JavaScript 中的类封装是一个强大的机制,用于组织代码、提高代码的可读性和可重用性。通过使用类属性、类方法和访问修饰符,您可以创建结构化的对象,表示现实世界中的实体或概念。继承和静态方法进一步扩大了类的能力,使您可以构建复杂的代码结构。
2025-02-13
![写脚本算编程吗?](https://cdn.shapao.cn/images/text.png)
写脚本算编程吗?
https://jb123.cn/jiaobenbiancheng/36764.html
![排除 Perl 依赖关系](https://cdn.shapao.cn/images/text.png)
排除 Perl 依赖关系
https://jb123.cn/perl/36763.html
![SHELL脚本编程儿童视频](https://cdn.shapao.cn/images/text.png)
SHELL脚本编程儿童视频
https://jb123.cn/jiaobenbiancheng/36762.html
![使用 Perl 下载文件](https://cdn.shapao.cn/images/text.png)
使用 Perl 下载文件
https://jb123.cn/perl/36761.html
![Perl 风格:优雅而实用的编程之道](https://cdn.shapao.cn/images/text.png)
Perl 风格:优雅而实用的编程之道
https://jb123.cn/perl/36760.html
热门文章
![JavaScript (JS) 中的 JSF (JavaServer Faces)](https://cdn.shapao.cn/images/text.png)
JavaScript (JS) 中的 JSF (JavaServer Faces)
https://jb123.cn/javascript/25790.html
![JavaScript 枚举:全面指南](https://cdn.shapao.cn/images/text.png)
JavaScript 枚举:全面指南
https://jb123.cn/javascript/24141.html
![JavaScript 逻辑与:学习布尔表达式的基础](https://cdn.shapao.cn/images/text.png)
JavaScript 逻辑与:学习布尔表达式的基础
https://jb123.cn/javascript/20993.html
![JavaScript 中保留小数的技巧](https://cdn.shapao.cn/images/text.png)
JavaScript 中保留小数的技巧
https://jb123.cn/javascript/18603.html
![JavaScript 调试神器:步步掌握开发调试技巧](https://cdn.shapao.cn/images/text.png)
JavaScript 调试神器:步步掌握开发调试技巧
https://jb123.cn/javascript/4718.html