如果类的某些属性属于全体类对象共有的,那么可以把这些属性通过static声明为静态属性。以避免每个对象都生成一份同样的数据成员,浪费内存。
类的静态属性属于类,因此是通过类名来访问:
class UChar{ //创建一个无符号字符类型的数值
static MAX : number = 255; //最大值为255,由于是全体无符号字符类型的通用属性,所以定义为静态属性
static MIN : number = 0; //最小值为0,由于是全体无符号字符类型的通用属性,所以定义为静态属性
private data : number;
constructor(data : number)
{ //构造对象时,检查初始值是否溢出
if(data > UChar.MAX){ //通过UChar.MAX访问静态成员
data = UChar.MAX
}
if(data < UChar.MIN){ //通过UChar.MIN访问静态成员
data = UChar.MIN;
}
this.data = data;
}
print():void{
console.log("data=", this.data);
}
}
let u1 = new UChar(1000); //初始值溢出
u1.print(); //输出:data= 255
let u2 = new UChar(-1); //初始值溢出
u2.print(); //输出:data= 0
let u3 = new UChar(88); //初始值未