码迷,mamicode.com
首页 > 其他好文 > 详细

TypeScript 中类的概念和使用

时间:2021-01-12 11:03:38      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:god   使用   ted   abs   public   you   target   person   content   

继承、重写和 Super

class Lady {
  content = "Hi,帅哥";
  sayHello() {
    return this.content;
  }
}

class XiaoJieJie extends Lady {
  sayHello() {
    return super.sayHello() + "。你好!";
  }
  sayLove() {
    return "I love you";
  }
}

const goddess = new XiaoJieJie();
console.log(goddess.sayHello());
console.log(goddess.sayLove());

类的访问类型——private protected public

  • private:类内部使用
  • protected:类内部使用、类继承使用
  • public:类内部使用、类继承使用、类外部使用

TypeScript 类的构造函数

// 普通写法
class Person{
    public name :string ;
    constructor(name:string){
        this.name=name
    }
}

// 简化写法
class Person{
    constructor(public name:string){}
}

// 继承子类如果写了 constructor 方法,就必须在里面调用 super() 方法
class Teacher extends Person{
    constructor(public age:number){
        super(‘jspang‘)
    }
}

就是父类没有构造函数,子类也要使用super()进行调用。

class Person{}

class Teacher extends Person{
    constructor(public age:number){
        super()
    }
}

TypeScript 类的 Getter、Setter和static使用

class Xiaojiejie {
  constructor(private _age:number){}
  get age(){
      return this._age - 10
  }
  set age(age:number){
    this._age = age + 3
  }
  static sayLove() {
    return "I Love you";
  }
}

console.log(Xiaojiejie.sayLove());
const dajiao = new Xiaojiejie(28)
dajiao.age=25
console.log(dajiao.age)

类的只读属性和抽象类

只读使用 readonly 修饰。

class Person {
    public readonly _name :string;
    constructor(name:string ){
        this._name = name;
    }
}

// 或者
class Person {
    constructor(public readonly _name:string ){}
}
abstract class Girl{
    abstract skill()  //因为没有具体的方法,所以我们这里不写括号
}

class Waiter extends Girl{
    skill(){
        console.log(‘大爷,请喝水!‘)
    }
}

class BaseTeacher extends Girl{
    skill(){
        console.log(‘大爷,来个泰式按摩吧!‘)
    }
}

class seniorTeacher extends Girl{
    skill(){
        console.log(‘大爷,来个SPA全身按摩吧!‘)
    }
}

参考:
TypeScript 中类的概念和使用
TypeScript 中类的访问类型
TypeScript 类的构造函数
TypeScript 类的 Getter、Setter和static使用
TypeScript 类的只读属性和抽象类

TypeScript 中类的概念和使用

标签:god   使用   ted   abs   public   you   target   person   content   

原文地址:https://www.cnblogs.com/xch-jiang/p/14257462.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!