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

VB脚本分段函数与条件语句详解:高效编写程序的关键
https://jb123.cn/jiaobenyuyan/67139.html

织梦DEDECMS程序脚本语言详解:PHP、SQL及模板引擎
https://jb123.cn/jiaobenyuyan/67138.html

深入浅出JavaScript骨架:框架、库与模式
https://jb123.cn/javascript/67137.html

Python筛选器编程实例:高效数据处理的利器
https://jb123.cn/python/67136.html

Linux系统下Perl的安装与配置详解
https://jb123.cn/perl/67135.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