当前位置:网站首页>ts 之 属性的修饰符public、private、protect
ts 之 属性的修饰符public、private、protect
2022-07-05 20:44:00 【qq_46302247】
public修饰的属性可以在任意位置访问和修改
class Animal{
name: string //等同于 public name: string; public是默认修饰符
age: number
constructor(name: string, age: number) {
this.name = name
this.age = age
}
}
也可以换成如下写法:
class Animal{
constructor(public name: string, public age: number) {
}
}
const a = new Animal('tt', 19)
console.log(a);//Animal {name: 'tt', age: 19}
private修饰的属性是私有属性,私有属性只能在类的内部访问和修改,它的子类也无法访问和修改;它的实例也无法访问
class Animal{
private name: string
private age: number
constructor(name: string, age: number) {
this.name = name
this.age = age
}
}
如果想访问private修饰的属性,可以通过 set/get
class Animal{
private _name: string
private _age: number
constructor(name: string, age: number) {
this._name = name
this._age = age
}
get age() {
return this._age
}
set age(value) {
if(value>=0) {
this._age = value
}
}
}
const a = new Animal('aa', 15)
console.log(a.age);//15
a.age = -33
console.log(a.age);//15
a.age = 19
console.log(a.age);//19
protect受保护的属性,只能在当前类,和它的子类中访问和修改,但是他们的实例都不能访问
class Animal{
protected _name: string
protected _age: number
constructor(name: string, age: number) {
this._name = name
this._age = age
}
}
class Dog extends Animal{
test() {
console.log(this._age);
}
}
const dog = new Dog('小黑', 18)
dog.test()//18
边栏推荐
猜你喜欢
Leetcode (695) - the largest area of an island
Abnova maxpab mouse derived polyclonal antibody solution
1. Strengthen learning basic knowledge points
研學旅遊實踐教育的開展助力文旅產業發展
Norgen AAV extractant box instructions (including features)
Applet global configuration
Duchefa p1001 plant agar Chinese and English instructions
Classic implementation method of Hongmeng system controlling LED
Abnova丨 MaxPab 小鼠源多克隆抗体解决方案
表单文本框的使用(二) 输入过滤(合成事件)
随机推荐
培养机器人教育创造力的前沿科技
Composition of applet code
Maker education infiltrating the transformation of maker spirit and culture
Is it safe to open a stock account by mobile phone? My home is relatively remote. Is there a better way to open an account?
Where is a good stock account? Is online account manager safe to open an account
Abnova CRISPR spcas9 polyclonal antibody protocol
小程序事件绑定
Mongodb basic exercises
Codeforces Round #804 (Div. 2) - A, B, C
王老吉药业“关爱烈日下最可爱的人”公益活动在南京启动
Ros2 topic [01]: installing ros2 on win10
Norgen AAV extractant box instructions (including features)
渗透创客精神文化转化的创客教育
Introduction to dead letter queue (two consumers, one producer)
19 mongoose modularization
Go file path operation
14、Transformer--VIT TNT BETR
研學旅遊實踐教育的開展助力文旅產業發展
Graph embedding learning notes
Monorepo管理方法论和依赖安全