getter 和setter方法的编写:使用get 和set关键字来设置,
get getName() {
return this.name
}
get getAge() {
return this.age
}
set setName(name:string) {
this.name=name+'哈哈哈'
}
set setAge(age:number) {
this.age=age+100
}
getter和setter方法的使用
调用get方法的时候,需要把class中的设置的get方法作为属性名来使用,例如上面的例子
console.log(a.getAge) //调用get方法
console.log(a.getName) //调用get方法
调用setter方法的时候,需要把class中设置的set 方法作为属性值来修改复制,例如下面的例子:
a.setName='小狗' //调用set方法
a.setAge=20 //调用set方法
完整例子:
class A {
private name: string
age: number
constructor(name:string,age:number) {
this.name = name
this.age=age
}
get getName() { //定义getter方法
return this.name
}
get getAge() { //定义getter方法
return this.age
}
set setName(name:string) { //定义setter方法
this.name=name+'哈哈哈'
}
set setAge(age:number) { //定义setter方法
this.age=age+100
}
}
let a=new A('小猫',10)
console.log(a.getAge) //调用getter
console.log(a.getName) //调用getter
a.setName='小狗' //调用setter
a.setAge=20 //调用setter
console.log(a.getAge) //调用getter,获取最新的值
console.log(a.getName) //调用getter,获取最新的值