Swift 面试题
目录

Swift 中什么是类 (Class)?

· 约 4 分钟读完 · 第 65 / 196 章

推荐答案

在 Swift 中,类 (Class) 是一种引用类型,用于定义对象的蓝图或模板。类可以包含属性(存储数据和计算数据)、方法(函数)、初始化器、下标、以及遵循协议等。类是面向对象编程的核心概念之一,允许你创建具有特定行为和状态的对象。

与结构体(Struct)不同,类是引用类型,这意味着当你将一个类的实例赋值给另一个变量或常量时,它们引用的是同一个实例,而不是复制一个新的实例。

本题详细解读

1. 类的定义

在 Swift 中,类的定义使用 class 关键字,后跟类的名称。类的名称通常以大写字母开头,遵循驼峰命名法。

2. 类的实例化

类的实例化是通过调用类的初始化器(init 方法)来完成的。初始化器用于设置类的初始状态。

3. 引用类型

类是引用类型,这意味着当你将一个类的实例赋值给另一个变量或常量时,它们引用的是同一个实例。修改其中一个变量或常量的属性会影响另一个。

4. 继承

Swift 中的类支持继承,允许一个类继承另一个类的属性和方法。子类可以重写父类的方法或属性,也可以添加新的属性和方法。

5. 类的特性

  • 引用计数: Swift 使用自动引用计数(ARC)来管理类的内存。当没有强引用指向一个类的实例时,ARC 会自动释放该实例。
  • 类型转换: 类支持类型转换,允许你在运行时检查实例的类型,并将实例转换为其他类型。
  • 析构器: 类可以定义析构器(deinit),在类的实例被释放时执行一些清理操作。

6. 类与结构体的区别

  • 引用类型 vs 值类型: 类是引用类型,结构体是值类型。
  • 继承: 类支持继承,结构体不支持。
  • 内存管理: 类使用引用计数管理内存,结构体在栈上分配内存,不需要引用计数。

7. 使用场景

  • 当你需要共享数据或状态时,使用类。
  • 当你需要继承或重写行为时,使用类。
  • 当你需要引用语义时,使用类。

8. 总结

类是 Swift 中用于定义复杂对象的主要工具之一。它们提供了强大的功能,如继承、引用语义和内存管理,适用于需要共享状态或复杂行为的场景。