超级方法取消子方法调用的最佳方法

时间:2015-01-08 17:38:59

标签: objective-c oop methods architecture

我有一些管理一些数据的类。它们都与服务器同步,同步由一个名为startSync的方法启动。我希望超级方法检查是否需要同步,如果在子方法启动同步之前不能停止同步。

我想到了一些选项,但不确定哪一个是实现它的最佳方式。我在Objective-C中工作,因此需要考虑添加一些变量。

A)使方法返回一个布尔值,并让子实现调用超级实现并检查布尔值,如果为假则返回false。但是,编写子类并实现该方法的人不会总是知道该怎么做 B)创建一个doSync抽象方法,超级类从startSync方法调用,该方法将从类外部调用。这具有副作用,即不知道调用哪种方法并且意外地覆盖错误的方法 C)与B相同但是" doSync"方法受到使用"内部"头。这会产生意外覆盖错误方法的副作用,因为他们不了解内部标题,但外部课程不了解doCall方法以跳过检查。

如果其中一个是最合适的,或者有更好的选择,我正在寻找的是输入。

0 个答案:

没有答案