类属性的封装:通过属性的修饰符实现
- private:只有在类的内部进行访问和修改
- public:可以在任意位置访问和修改。默认时public
- protected:可以在当前类和当前类的子类中访问和修改
属性的修饰符,如果是private,那么在类的外边通过getter 和 setter 方法 来存取属性;
1 class MyClass {
2 public _name: string
3 private _age: number
4
5 constructor(){
6 this._name="aa";
7 this._age=12;
8 }
9 /**
10 * 读取属性
11 * ts中的getter方式
12 * @returns
13 */
14 get age(){
15 return this._age;
16 }
17 /**
18 * 设置属性
19 * ts中的setter方式
20 * @param value
21 */
22 set age(value:number){
23 this._age = value;
24 }
25
调用方式:
1 const aaa = new MyClass();
2 aaa._name="q";
3 console.log(aaa.age);//调用getter 12
4 aaa.age=2;//调用setter
5 console.log(aaa);// {_name: 'q', _age: 2}
类的简略写法:
1 class C{
2 constructor(public name:string,public age:number){
3
4 }
5
等同于:
1 class C{
2 name:string;
3 age:number;
4 constructor(name:string,age:number){
5 this.age =age;
6 this.name=name;
7 }
8