全部学科
Python全栈
python
NodeJS全栈
nodejs
📝 1 篇文章 20 道配套习题

接口与类专题

专题说明

本专题涵盖TypeScript接口定义、类实现、继承、访问修饰符等面向对象编程核心内容。

学习目标

  1. 掌握接口(interface)定义与实现
  2. 理解类的访问修饰符(public/private/protected)
  3. 能够使用继承与多态构建面向对象代码

学习建议

建议结合JavaScript的ES6类语法对比学习,理解TypeScript接口的编译期特性。

📝 配套习题(20 题)

💡 参考答案在文末
判断题
1

在TypeScript类中,使用readonly修饰的属性只能在声明时或构造函数中赋值。

A

B

2

在接口中,使用?标记的属性在实现该接口的对象中可以不存在。

A

B

3

TypeScript类中,如果没有显式指定访问修饰符,方法默认是private的。

A

B

4

TypeScript类中,属性必须在构造函数外部显式声明,不能在构造函数内部通过this.prop = value直接创建。

A

B

5

TypeScript中,可以使用new关键字直接实例化一个接口。

A

B

6

TypeScript接口可以定义对象必须具有的属性及其类型。

A

B

7

TypeScript接口中,属性之间可以使用逗号,或分号;作为分隔符。

A

B

8

一个TypeScript类可以同时实现多个接口。

A

B

单选题
9

在TypeScript的派生类(子类)构造函数中,为什么必须先调用super()

A

因为编译器要求所有方法必须先调用父类方法

B

因为thissuper()之前使用会导致引用错误

C

因为不调用super()会创建两个实例

D

因为这是可选的,只是为了更好的代码风格

10

TypeScript类中的static修饰的成员应该如何访问?

A

通过实例对象访问

B

通过类名直接访问

C

通过this关键字在实例方法中访问

D

通过super关键字访问

11

在TypeScript子类中重写父类方法时,推荐的做法是什么?

A

直接定义同名方法即可

B

使用override关键字(TS 4.3+)

C

必须使用super关键字调用父类方法

D

无法重写父类方法

12

TypeScript中constructor(public name: string)这种写法的作用是什么?

A

只是定义了一个函数参数

B

自动声明并初始化一个public的name实例属性

C

定义了一个静态属性

D

语法错误

13

在TypeScript类中,constructor方法的主要作用是什么?

A

定义类的静态方法

B

初始化实例属性和接收注入的参数

C

销毁实例时清理资源

D

定义类的继承关系

14
TypeScript
interface Config {
  timeout?: number;
}
const c: Config = {};

关于c.timeout的类型,以下说法正确的是?

A

number

B

number | undefined

C

undefined

D

any

15

在TypeScript中,类如何实现一个接口?

A

class MyClass extends IMyInterface {}

B

class MyClass implements IMyInterface {}

C

class MyClass uses IMyInterface {}

D

class MyClass with IMyInterface {}

16

在TypeScript中,访问修饰符private修饰的类成员可以在哪里访问?

A

只能在类内部访问

B

可以在类内部和子类中访问

C

可以在任何地方访问

D

只能在子类中访问

17

在TypeScript中,类实现接口使用的关键字是?

A

extends

B

implements

C

inherits

D

uses

多选题
18

在TypeScript中,如何定义一个可以接受任意字符串键且值为number类型的对象?

A

使用索引签名 [key: string]: number

B

使用Record<string, number>

C

使用Map<string, number>

D

使用{ [key: number]: string }

19

以下关于TypeScript类中访问修饰符的描述,哪些是正确的?

A

public成员可以在任何地方访问

B

protected成员可以在类内部和子类中访问

C

private成员只能在类内部访问

D

不写修饰符默认为private

20

以下哪些是TypeScript接口可以描述的类型?

A

对象的属性结构

B

函数的参数和返回值

C

数组的索引类型

D

基本类型如string或number

参考答案
1.正确 2.正确 3.错误 4.错误 5.错误 6.正确 7.正确 8.正确 9.B 10.B 11.B 12.B 13.B 14.B 15.B 16.A 17.B 18.A;B 19.A;B;C 20.A;B;C
想在手机上练习这套专题?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码
← 上一个专题 常用内置工具类型专题
下一个专题 → 模块基础专题
扫码体验小程序
加载中
想在手机上刷题学习?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码