Class

50 阅读1分钟

Class 类:在程序中离不开对象,而类就是对象的模板,具备了属性和方法

以下就是创建一个类,并为其添加一些属性

//创建一个 Person 类
class Person {

   //在 实例上添加一个name属性,类型为string,值为"David"
  name: string = "David";
  
  //在 实例上添加一个age属性,类型为number,值为15
  age: number = 15;
  
  //在 Person类上添加一个gender属性,类型为string,值为"male"
  static gender: string = "male";
}

//注意:在属性前面添加 static 关键字,表示添加到 类的身上,而不是实例的身上,实例是无法访问的。这也称为静态属性。

//在 实例 上添加一个sayName方法,打印“你好”
  sayName() {
    console.log("你好");
  }

//在 Person类 上添加一个sayGender方法,打印"111"
  static sayGender() {
    console.log("111");
  }

//然后通过 new 关键字构造一个实例对象 per;
const per = new Person();

//此时 per 身上就拥有 name 和 age 属性,还有 sayName方法
console.log(per);
per.sayName();

//而 Person类 身上则有gender属性和sayGender方法
console.log(Person.gender);
Person.sayGender();

现在我们将上面的代码编译一下
tsc -w 指令可以监听 ts文件,只要文件改动,则自动编译一次

tsc -w 

然而上面的代码将被编译为下面的样子

// use strict 有这个是因为我在tsconfig.json文件里开启了 严格模式
"use strict";
class Person {
    constructor() {
        this.name = "David";
        this.age = 15;
    }
    sayName() {
        console.log("你好");
    }
    static sayGender() {
        console.log("111");
    }
}
Person.gender = "male";
const per = new Person();
console.log(per);
per.sayName();
console.log(Person.gender);
Person.sayGender();