使用协议扩展,并将协议限制为基类。以下是示例代码:
// 基类 class BaseClass {}
// 协议 protocol MyProtocol { func myMethod() }
// 协议扩展,只适用于 BaseClass 子类 extension MyProtocol where Self: BaseClass { func myMethod() { // 实现协议方法 } }
// 子类 A、B 使用相同的协议扩展,因为它们都是 BaseClass 的子类 class SubClassA: BaseClass, MyProtocol {} class SubClassB: BaseClass, MyProtocol {}