如何解决从两个类继承
| 我正在创建一个通用的iOS应用,即它将在iPhone和iPad上运行。我现在有一个“ 0”,将同时显示在两者上,但有所不同。在iPhone上,它将包含UITableView
,在iPad上将包含AQGridView
。数据将是相同的。因此,两个控制器将共享许多方法和实例变量。
通常,我会使用方法和实例变量创建一个UIViewController
子类,然后创建该类的两个子类,并在其中放置特定于设备的内容。
我现在面临的问题是,我的子类的iPhone版本也应该使用一些不错的方法从另一个类继承:
UIViewController sublcass Some Other Class
| |
------------------------------- -----------------
| | |
iPad sublcass iPhone subclass
无法将iPad版本作为ѭ5的子类添加,因为Some Other Class
被设计为与ѭ1一起使用。
我很确定这在Objective-C中是不可能的,但是我想问一遍,然后再创建一个巨大的复制粘贴粘贴混乱。因此:关于如何使我的代码保持简单的任何建议?
解决方法
是的,在目标C中不可能实现多重继承。但是,通过简洁而合理的设计,这是不必要的,可以用协议代替。但是,如果不是这种情况(但是,对此我有一些疑问),建议您检查装饰器的设计模式。
即使装饰器模式无法满足您的需求,我还是建议您使用聚合而不是继承(嗯,这就是装饰器实际使用的)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。