泛型类在多类型中的应用及相关协议实现
1. 泛型类 Party<T>
的多类型实例创建
我们可以通过将 Party<T>
类中的泛型类型参数 T
替换为任何符合 Party<T>
类声明中指定约束的类型名称,来创建 Party<T>
类的实例。目前,有三个具体类实现了 AnimalProtocol
和 Equatable
协议,分别是 Dog
、 Frog
和 Lion
。
1.1 创建 Party<Dog>
实例
以下是创建 Dog
类实例并组成派对的代码:
var jake = Dog(name: "Jake")
var duke = Dog(name: "Duke")
var lady = Dog(name: "Lady")
var dakota = Dog(name: "Dakota")
var dogsParty = Party<Dog>(leader: jake)
dogsParty.addMember(duke)
dogsParty.addMember(lady)
dogsParty.addMember(dakota)
dogsParty.dance()
tr