【发布时间】:2016-01-29 15:52:54
【问题描述】:
在 c# 中,我们有 protected 访问器,它允许类成员在继承的类中可见,但对其余部分不可见。
在 Swift 中这不存在,所以我想知道这样的事情的正确方法是什么:
我想要一个变量(内部行为)和一个在基类上使用这个变量的公共方法。此变量也将用于继承的类。
我看到的选项
- 忘记基类,在我需要的任何地方实现变量和方法。 错误,重复代码
- 通过组合实现继承。我会创建一个包含常用方法的类,这将由组合而不是继承使用。 少错,但仍然重复可以通过继承避免的代码
- 在基类上实现继承并使变量成为内部变量。 错误,因为除了允许在继承的类上可见之外,没有任何理由公开事物。
基类的实现细节
我想要一个NSOperationQueue 实例和一个公共方法来取消排队的操作。我从继承的类向此队列添加新操作。
【问题讨论】:
标签: swift inheritance