swift
swift - Generic #3 (Associated Types)
행복하게사는게꿈
2021. 1. 13. 10:22
// Generic protocol을 선언하는 방법
//protocol QueueCompatible {
// func enqueue(value: Int)
// func dequeue() -> Int?
//}
protocol QueueCompatible {
associatedtype Element // : Equatable 연관형식을 제한할 수도 있음
func enqueue(value: Element)
func dequeue() -> Element?
}
class IntergerQueue : QueueCompatible {
// 연관 형식 설정
typealias Element = Int
// 연관 형식을 Int로 했기 때문에 Int
func enqueue(value: Int) {
}
func dequeue() -> Int? {
return 0
}
}
// 연관형식 생략
class DoubleQueue: QueueCompatible {
func dequeue() -> Double? {
<#code#>
}
func enqueue(value: Double) {
<#code#>
}
}