9-学习TypeScript(class)

70 阅读1分钟

1、和之前的js的calss用法区别

class User {
  constructor(name:string,sex:boolean,age:number){
    this.name =name //类型“User”上不存在属性“name”
    this.sex =sex //类型“User”上不存在属性“sex”
    this.age =age //类型“User”上不存在属性“age”
  }
}
let user = new User('lisI',true,1)
class User1{
  name:string
  sex:boolean
  age:number
  constructor(name:string,sex:boolean,age:number){
    this.name = name
    this.sex = sex
    this.age = age
  }
}
new User1('liSi',true,18)

2、类的3个修饰符 公共public 私有private 保护protected

class User2{
  public name:string
  private sex:boolean
  protected age:number
  static mi:string ='mi'
  constructor(name:string,sex:boolean,age:number){
    this.name =name
    this.sex = sex
    this.age = age
  }
  static eat(){
    this.mi
    return this.mi
  }
  static sleep(){
    this.eat()
    return '19s'
  }
}
let user2 = new User2('liSi',true,18)
//public 都可以访问 不写public默认就是公共的
user2.name
user2.sex  //属性“sex”为私有属性,只能在类“User2”中访问

3、private 和 protected 区别

class User3  extends User2{
  constructor(){
    super('liSi',true,18)
    //这里可以访问到 public 和protected 但是private访问不了
    this.age
    this.name
  }
}

4、接口和class

interface type {
  user(sex:boolean):boolean
}
class User4 implements type {
  user(sex:boolean){
    return sex
  }
}