当前位置: 首页 > article >正文

TypeScript类成员的存取器

本节课我们来开始了解 TypeScript 的类成员字段的访问方式以及存取器的使用。

一.成员字段访问

1. 成员字段我们进行了封装保护,那么除了实例化的方案外,还怎么对外暴露接口?
2. 可以通过 setXXX() getXXX() 约定俗成的方法来实现对成员字段的取值赋值;
// 成员 name 取值
setName(name : string) {
this.name = name
}
// 成员 name 赋值
getName() {
return this.name
}
let p = new Person('Mr.Lee', 100)
// 赋值
p.setName('Miss.Wang')
// 取值
console.log(p.getName())
console.log(p.run())

PS :这样就解决了私有成员的类外赋值取值的问题;
PS :但是我们一般调用很多框架或库的属性是不带花括号的,方法才带;
PS :所以, TypeScript 提供了成员的存取器来实现对成员的取值赋值;
二.成员字段存取器
1. 成员字段有专门的 setter getter 方法来处理私有成员字段的取值赋值;
2. 只不过原有的成员字段最好相对应的改成固有名称让其一看就知道是私有成员;
3. 这样,类的内部都用 this. 私有成员,外部用 setter getter 的仿成员;
// 人类
class Person {
private _name : string
private _age : number
//构造方法
constructor(name : string, age : number) {
this._name = name
this._age = age
}
// 构造方法
//constructor(private _name : string, private _age : number) {}
// 赋值
set name(name : string) {
this._name = name
}
// 取值
get name() {
return this._name
}
// 赋值
set age(age : number) {
this._age = age
}
// 取值
get age() {
return this._age
}
//执行 run 普通方法
run() : string {
return this.name + '的年龄为:' + this.age
}
}
let p = new Person('Mr.Lee', 100)
p.name = 'Miss.Wang'
p.age = 28
console.log(p.run())


http://www.kler.cn/a/10092.html

相关文章:

  • 三种单例实现
  • PyTorch版本的3D网络Grad-CAM可视化实验记录
  • ExecStart=/usr/bin/mongod --config /etc/mongod.conf (code=exited, status=2)
  • 丹摩征文活动 | Kolors入门:从安装到全面活用的对比指南
  • SpringBoot单体服务无感更新启动,动态检测端口号并动态更新
  • 游戏引擎学习第四天
  • 《八次危机》速读笔记
  • 【ROS2指南-1】配置ROS2环境
  • 机器学习实战:Python基于K近邻KNN进行分类预测(四)
  • 【举一反三】只出现一次的数字
  • Pandas 秘籍:1~5
  • Nodejs中的fs模块
  • 前脚我的 GPT4 被封,后脚收到了文心一言的邀请账号
  • Java阶段一Day20
  • Linux网络虚拟化2
  • SpringBoot使用Freemarker导出word模板(OpenXML)
  • Spring boot+Vue3博客平台:文章搜索与推荐和文章阅读统计模块
  • HTML - 实现IE浏览器访问网址自动跳转至谷歌浏览器打开
  • 电脑重装了系统开不了机怎么办?
  • 嵌入式入门基础知识有哪些?
  • pytorch张量及其使用——初学者入门必看
  • kruskal重构树
  • 商品列表API接入文档和参数说明
  • Python if 语句、Python3 os.rmdir() 方法
  • angular/react/vue/un-app
  • 全国青少年信息素养大赛2023年python·选做题模拟三卷