Swift编程:代码复用与对象-函数式编程结合
1. 知识测试与代码复用
1.1 知识测试
以下是几个关键知识测试问题及答案:
| 问题描述 | 选项 | 正确答案 |
| — | — | — |
| 当我们声明协议时,Self关键字表示什么? | 1. 实现协议的类型;2. 符合协议的类的实例;3. 符合协议的结构体的实例 | 1. 实现协议的类型 |
| 泛型允许我们声明一个类,该类: | 1. 只能将泛型类型用作存储和类型属性的类型;2. 只能将泛型类型用作其初始化器的参数;3. 可以处理多种泛型类型 | 3. 可以处理多种泛型类型 |
| public class ImmutableVector3D<T: FloatingPointType>
这行代码意味着: | 1. 泛型类型约束指定T必须符合ImmutableVector3D协议或属于ImmutableVector3D类层次结构;2. 泛型类型约束指定T必须符合FloatingPointType协议或属于FloatingPointType类层次结构;3. 该类是FloatingPointType的子类 | 2. 泛型类型约束指定T必须符合FloatingPointType协议或属于FloatingPointType类层次结构 |
| public class Party<T: AnimalProtocol where T: Equatable>
这行代码意味着: | 1. 泛型类型约束指定T必须同时符合AnimalProtocol和Equatable协议;2. 泛型类型约束指定T必须符合An