面试题答案
一键面试class Person {
private name: string;
constructor(name: string) {
this.name = name;
}
getName(): string {
return this.name;
}
setName(newName: string): void {
this.name = newName;
}
}
这种封装的作用:
- 数据保护:将
name
属性设为私有,外部代码无法直接访问和修改,只能通过getName
和setName
方法来操作,防止意外或非法的数据修改,提高数据的安全性和一致性。 - 隐藏实现细节:外部使用者只需要关注如何调用
getName
和setName
方法,而不需要知道内部name
属性是如何存储和管理的,降低了代码的耦合度,便于代码的维护和扩展。