为了账号安全,请及时绑定邮箱和手机立即绑定

TypeScript学习之类

标签:
JavaScript

一、基本使用

class Person {
    name: string;    constructor(name: string){        this.name = name;
    }
    showName () {        return 'hello'+name;
    }
}let p = new Person('小王');
p.showName();//继承class Student extends Person{    constructor (name: string) {        super(name);
    }
    learn () {        console.log('learning');
    }
}let s = new Student('小张');
s.showName();
s.learn();

二、公共,私有与受保护的修饰符

//默认为 publicclass Person {
    public name: string;    constructor(name: string){        this.name = name;
    }
    showName () {        return 'hello'+name;
    }
}let p = new Person('小王');
p.showName();//private  不能在声明它的类的外部访问
    class Person {
    private name: string;    constructor(name: string){        this.name = name;
    }
    showName () {        return 'hello'+name;
    }
}new Person('xx').name//错误: 'name' 是私有的.//protected  protected成员在派生类中仍然可以访问class Person {
    protected name: string;    constructor(name: string){        this.name = name;
    }
}class Student extends Person{    constructor (name: string) {        super(name);
    }
    showName(){        return this.name;
    }
}//readonly修饰符  只读属性必须在声明时或构造函数里被初始化class Person  {
    readonly name: string;    constructor(name: string){        this.name = name;
    }
}//存取器class Person {
    private _name: string;
    get _name (): string {        return this._name;
    }
    set _name(name: string){        this._name = name;
    }
}

三、静态属性

这些属性存在于类本身上面而不是类的实例上

class Person {
    static name: string = "小张";
    showName (): string {        return Person.name;
    }
}

四、抽象类

抽象类做为其它派生类的基类使用。 它们一般不会直接被实例化

abstract class Person {  abstract eatFood(food: string): void; //必须在派生类中实现}class Student extends Person {
  eatFood (food: string): void{
    console.log('吃'+food);
  }
}

五、高级技巧

//构造函数class Person{
}
let person: Person;
person = new Person();//把类当做接口使用class Point{
    x: number;
    y: number;
}interface Point3D extends Point{
    z: number;
}
let p: Point3D = {x:1,y:2,z:3};



作者:大富_大贵
链接:https://www.jianshu.com/p/348465a4c7e4


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消