Swift中的泛型

2019-06-29  本文已影响0人  盖小聂

1、typealias和泛型接口
2、泛型扩展

1、typealias和泛型接口
class Person<T> {}
typealias Worker = Person
typealias Worker = Person<T>
typealias Worker<T> = Person<T>
class Person<T> {}
typealias WorkId = String
typealias Worker = Person<WorkId>
protocol GeneratorType {
  typealias Element
  mutating func next() --> Self.Element?
}

protocol SequenceType {
  typealias Generator: GeneratorType
  func generate() —> Self.Generator
}

在实现这些接口时,我们不仅需要实现指定的方法,还要实现对应的typealias,这其实是一种对于接口适用范围的抽象和约束。

2、泛型扩展
上一篇下一篇

猜你喜欢

热点阅读