Avatar
↓のような話をしてるのか。 @swift-4.2.4 protocol P { func foo() -> String } extension P { func foo() -> String { return "P" } } class C: P { } class SC: C { func foo() -> String { return "SC" } } let sc: SC = SC() let c: C = sc let p: P = c print(sc.foo()) print(c.foo()) print(p.foo())