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

接口与类专题

专题说明

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

学习目标

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

学习建议

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

📝 发现内容有误?点击此处直接编辑

📝 配套习题(20 题)

1
判断题

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

A

B

2
判断题

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

A

B

3
单选题

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

A

extends

B

implements

C

inherits

D

uses

4
单选题

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

A

只能在类内部访问

B

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

C

可以在任何地方访问

D

只能在子类中访问

5
单选题

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

A

定义类的静态方法

B

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

C

销毁实例时清理资源

D

定义类的继承关系

6
单选题

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

A

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

B

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

C

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

D

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

7
多选题

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

A

对象的属性结构

B

函数的参数和返回值

C

数组的索引类型

D

基本类型如string或number

8
判断题

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

A

B

9
判断题

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

A

B

10
单选题

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

A

通过实例对象访问

B

通过类名直接访问

C

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

D

通过super关键字访问

11
多选题

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

A

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

B

使用Record<string, number>

C

使用Map<string, number>

D

使用{ [key: number]: string }

12
多选题

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

A

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

B

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

C

private成员只能在类内部访问

D

不写修饰符默认为private

13
单选题

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

A

直接定义同名方法即可

B

使用override关键字(TS 4.3+)

C

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

D

无法重写父类方法

14
单选题

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

A

只是定义了一个函数参数

B

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

C

定义了一个静态属性

D

语法错误

15
判断题

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

A

B

16
判断题

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

A

B

17
单选题
TypeScript
interface Config {
  timeout?: number;
}
const c: Config = {};

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

A

number

B

number | undefined

C

undefined

D

any

18
单选题

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

A

class MyClass extends IMyInterface {}

B

class MyClass implements IMyInterface {}

C

class MyClass uses IMyInterface {}

D

class MyClass with IMyInterface {}

19
判断题

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

A

B

20
判断题

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

A

B

← 上一个专题 常用内置工具类型专题
下一个专题 → 模块基础专题

📝 发现内容有误?点击此处直接编辑

想查看更多习题和详细解析?
小程序提供完整的题库和详细解析

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库