《五》TypeScript 中类的类型

news/2024/10/31 7:34:52/

在 TypeScript 中,类的属性必须要明确声明,否则会报错。

class Person {// 在 TypeScript 中类的属性必须要明确声明,否则会报错// 声明属性的同时可以初始化值;或者也可以直接初始化值,此时会默认进行类型推断name: stringage: number = 18height = 1.88constructor(name: string, age: number, height: number) {this.name = namethis.age = agethis.height = height}eating() {console.log(this.name + 'is eating')}
}const p = new Person('Lee', 18, 1.88)
console.log(p.name)

类的成员的修饰符:

在 TypeScript 中,类的属性和方法支持三种修饰符。添加之后,TypeScript 将会检测该成员在哪些地方可见。

  1. public:修饰的是在任何地方可见、公有的属性和方法。public 是默认的修饰符。
  2. private:修饰的是仅在当前类的内部可见的、私有的属性和方法。
  3. protected:修饰的是仅在当前类自身及其子类中可见的、受保护的属性和方法。
class Person {private name: stringconstructor(name: string) {this.name = name}eating() {console.log(this.name + 'is eating') // 正确。可以访问}
}const p = new Person('Lee')
console.log(p.name) // 报错。不可访问

类的只读属性:

在 TypeScript 中,支持类的只读属性 readonly。添加之后,TypeScript 将会检测该属性只可读、不可写。

class Person {readonly name: stringconstructor(name: string) {this.name = name}
}const p = new Person('Lee')
console.log(p.name) // 正确。可读
p.name = 'Mary' // 报错。不可写

类的参数属性:

在构造函数的参数前面直接添加修饰符,TypeScript 就可以将其转成一个同名同值的类属性,这些就被称为参数属性。

参数属性可以看作是一种语法糖,相当于做了三件事:

  1. 创建一个同名的类属性。
  2. 将值赋值给该类属性。
  3. 声明类属性,且为其添加上修饰符。
class Person {constructor(public name: string) {}
}// 就相当于:
class Person {public name: stringconstructor(name: string) {this.name = name}
}

抽象类:

TypeScript 中支持抽象类和抽象方法,需要使用 abstract 关键字来声明。

对于如果有共同的父类,但是父类中不需要对某些方法进行具体的实现的时候,就可以将其定义为抽象类。抽象方法必须定义在抽象类中,只有方法名,没有方法体。子类必须实现抽象方法。

抽象类不能被实例化。
抽象类中可以包含抽象方法,也可以包含普通的方法。

//定义一个抽象类和抽象方法
abstract class Shape {abstract getShape()
}// 子类继承抽象类
class React extends Shape{constructor(public width: number, public height: number) {super()}// 子类实现抽象方法getShape() {return this.width * this.height}
}// 子类继承抽象类
class circle extends Shape{constructor(public radius: number) {super()}// 子类实现抽象方法getShape() {return 2 * Math.PI * this.radius}
}// 此处的 Shape,相当于父类的引用指向子类的对象,这就叫做多态
function calcArea(shape: Shape) {return shape.getShape()
}
console.log(calcArea(new React(10, 20)))
console.log(calcArea(new circle(10)))

http://www.ppmy.cn/news/347896.html

相关文章

计算机怎么更改性能模式,笔记本怎么开高性能模式 让电脑变流畅的方法详细介绍...

很多小伙伴在买了笔记本电脑之后,就迫不及待的下载游戏玩了起来,但是发现特别卡,这是怎么回事呢?下面小编就为大家带来让笔记本电脑变流畅的方法介绍 其实新电脑玩游戏很卡的原因是用户们,没有开启笔记本的高性能模式。…

笔记本电脑拔掉电源自动切换性能模式

【任务计划程序】实现自动切换性能模式 我的笔记本电脑是小米air13.3指纹版,插上电源的时候性能还可以,勉强能满足我日常开发需求,但是一旦拔掉电源,电脑就会因为供电不足而导致CPU频率降到1GHz以下,这时无论我把电源性…

程序员笔记本性能需求分析--2020年--极致性价比(真香定律)

最近由于豌豆电脑配置落后,码代码经常卡死。然后本人就重装系统了,但是由于我手残,一不小心把以前的一些重要的学习资料给删了**/(ㄒoㄒ)/~~,仔细想想都是电脑的锅!!于是我决定换电脑!但是我手头…

计算机电源性能怎么调,笔记本电脑如何将电源模式更改为高性能模式? -

现在计算机高性能设置,许开始使用win10系统,但是一些用户发现在玩游戏时,CPU会自动降低频率,从而导致系统死机. 实际上,可以通过打开高性能模式来解决这种情况. 让我们看一下打开计算机系统高性能模式的步骤. 打开控制面板,然后打开电源选项,将其设置为高性能,然后取消…

二手笔记本测试软件,想买二手笔记本?先学会这些检测方法才最大限度不被坑...

有些朋友由于刚工作或是其它原因,想买个笔记本但由于预算有限,所以把目光瞄向了二手的笔记本。二手到底质量靠不靠谱?到底要怎么来把控产品质量的?为了解开困扰大家心头的不解和疑惑,为了最大限度的不掉坑,…

笔记本计算机提升性能,笔记本电脑改装!轻松提升电脑性能!

随着科技的发展,电脑芯片技术发展也是突飞猛进,电脑硬件的性能越来越高。除了我们家用的台式机,连以便捷为特点的笔记本电脑的性能也越来越高。甚至开始流行了以高性能为特点的"游戏本",让我们玩大型不再受地点的约束。…

笔记本电脑如何玩游戏不卡顿,提升自己的笔记本性能!开启高性能模式的方法

适合台式机,笔记本散热不好。烧坏就GG啦! 适合台式机,笔记本散热不好。烧坏就GG啦! 适合台式机,笔记本散热不好。烧坏就GG啦! 搜索的地方输入:powershell 会出现: 再输入&#xf…

测试苹果电脑性能软件xbench在哪,mac性能测试网址

1. 怎样检测苹果笔记本 1:苹果电脑安装的是OSX系统,而不是Windows系统或者Linux系统。 2:所有苹果笔记本电脑都有背光键盘。 3:苹果电脑的款式很少,只有:Macbook Air、Macbook Pro、Mac mini、iMac、以及一般在国内见不到的Mac Pro。其中除了Mac Pro是黑色的以外,其他款…