[TypeScript][文档]类
Posted shenjie0507
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[TypeScript][文档]类相关的知识,希望对你有一定的参考价值。
一、继承
class Animal { name: string; constructor(theName: string) { this.name = theName; } move(distanceInMeters: number = 0) { console.log(`${this.name} moved ${distanceInMeters}m.`); } } class Snake extends Animal { constructor(name: string) { super(name); } move(distanceInMeters = 5) { console.log("Slithering..."); super.move(distanceInMeters); } } class Horse extends Animal { constructor(name: string) { super(name); } move(distanceInMeters = 45) { console.log("Galloping..."); super.move(distanceInMeters); } } let sam = new Snake("Sammy the Python"); let tom: Animal = new Horse("Tommy the Palomino"); sam.move(); tom.move(34);
【注】:子类的构造方法中,必须首先调用super(),这是强制执行的规则。
二、public、private、protected
1.public 公有
TypeScript中,成员默认为public
2.private 私有
当成员被标记成 private
时,它就不能在声明它的类的外部访问,但是如果它被继承,子类里面还是有这个成员的,只是不能访问。
class Animal { private name: string; constructor(theName: string) { this.name = theName; } } new Animal("Cat").name; // 错误: ‘name‘ 是私有的.
3.protected 保护
protected
修饰符与 private
修饰符的行为很相似,但有一点不同, protected
成员在派生类中仍然可以访问。
【注】:构造函数也可以被标记成 protected
。 这意味着这个类不能在包含它的类外被实例化,但是能被继承。
三、reanonly和参数属性
以上是关于[TypeScript][文档]类的主要内容,如果未能解决你的问题,请参考以下文章
typescript Angular最终版本的Angular 2测试片段。代码库https://developers.livechatinc.com/blog/category/programming
typescript Angular最终版本的Angular 2测试片段。代码库https://developers.livechatinc.com/blog/category/programming