MST

星途 面试题库

面试题:TypeScript中类的封装性基础应用

请用TypeScript编写一个类,包含私有属性`name`和公有方法`getName`用于获取`name`的值,同时包含一个公有方法`setName`用于设置`name`的值,并解释这种封装的作用是什么。
22.9万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
class Person {
    private name: string;

    constructor(name: string) {
        this.name = name;
    }

    getName(): string {
        return this.name;
    }

    setName(newName: string): void {
        this.name = newName;
    }
}

这种封装的作用:

  1. 数据保护:将name属性设为私有,外部代码无法直接访问和修改,只能通过getNamesetName方法来操作,防止意外或非法的数据修改,提高数据的安全性和一致性。
  2. 隐藏实现细节:外部使用者只需要关注如何调用getNamesetName方法,而不需要知道内部name属性是如何存储和管理的,降低了代码的耦合度,便于代码的维护和扩展。