TypeScript--类,属性的权限修饰符

TS中类的定义

// ts中类的定义
class Person {
    
    
  name: string; //属性  前面省略了public关键词
  constructor(name: string) {
    
    
    //构造函数   实例化类的时候触发的方法 构造函数没有返回类型 void也没有
    this.name = name;
  }
  getName(): string {
    
    
    return this.name;
  }
  setName(name: string): void {
    
    
    this.name = name;
  }
  run(): void {
    
    
    alert(this.name);
  }
}

类的实例化和调用

var p = new Person("张三");
p.run();

ts中实现继承 extends、 super

class Student extends Person {
    
    
  constructor(name: string) {
    
    
    super(name);
  }
}
var student = new Student("学生");
student.run();

子类可以拓展父类的方法和属性,也可以重写父类的方法。和java类似

class Student2 extends Person {
    
    
  constructor(name: string) {
    
    
    super(name);
  }
  run(): string {
    
    
    return `${
      
      this.name}在运动-子类`;
  }
  work(): void {
    
    
    alert(`${
      
      this.name}在工作`);
  }
}

类里面的修饰符

typescript里面定义属性的时候给我们提供了 三种修饰符

  • public :公有 在当前类里面、 子类 、类外面都可以访问
  • protected:保护类型 在当前类里面、子类里面可以访问 ,在类外部没法访问
  • private :私有 在当前类里面可以访问,子类、类外部都没法访问
  • 属性如果不加修饰符 默认就是 公有 (public)

猜你喜欢

转载自blog.csdn.net/I_r_o_n_M_a_n/article/details/114686068
今日推荐