OC无法完全先C++使用多继承,但可以采用组合的模式来代替继承模式。(协议实现)
实现多继承的代码:
举例现在ClassC需要继承ClassA中methodA、ClassB中methodB,具体的代码为: //定义ClassA以及其methodA @interface ClassA : NSObject {
} -(void)methodA; @end
//定义ClassB以及其methodB
@interface ClassB : NSObject {
} -(void)methodB; @end
//定义ClassC以及其需要的methodA,methodB
@interface ClassC : NSObject {
ClassA *a;
ClassB *b;
} -(id)initWithA:(ClassA *)A b:(ClassB *)B; -(void)methodA;
-(void)methodB; @end
//注意在ClassC的实现
@implementation ClassC
-(id)initWithA:(ClassA *)A b:(ClassB *)B{
a=[[ClassA alloc] initWithClassA: A];//[A copy];
b=[[ClassB alloc] initWithClassB: B];//[B copy]; }
-(void)methodA{
[a methodA]; }
-(void)methodB{
[b methodB]; }

最新文章

  1. WPF DataGrid 性能加载大数据
  2. C,C++
  3. html5 audio的暂停与播放
  4. 缓存,socket乱码等
  5. "巴卡斯杯" 中国大学生程序设计竞赛 - 女生专场
  6. 20145223《Java程序程序设计》实验一实验报告
  7. Update UI from an asynchronous thread
  8. nginx入门到精通目录
  9. 试试markdown
  10. mysql -prompt选项
  11. vmware lan map
  12. cisco asa5520 IOS故障恢复
  13. oracle常用高级sql---1
  14. jQuery replaceWith replaceAll end的用法
  15. JGUI源码:实现简单MVVM单项绑定学习笔记(15)
  16. 【Teradata SQL】十进制转换成二进制
  17. linux服务器升级nginx
  18. Perl的数值和字符串
  19. 【知名的3D造型设计软件】犀牛 Rhinoceros 5.5.2 for Mac
  20. Python-反射getattr的应用

热门文章

  1. Android A/B System OTA分析(一)概览【转】
  2. MySQL实现按天分组统计,提供完整日期列表,无数据自动补0
  3. Oracle系列七 子查询
  4. bind 0.0.0.0的作用是什么呢?
  5. RabbitMQ整合Spring Booot【Exchange-Fanout模式】
  6. Docker容器(六)——创建docker私有化仓库
  7. SVN 本地文件锁/服务端文件锁清除步骤
  8. 使用二进制的方式部署 K8S-1.16 高可用集群
  9. Survey of single-target visual tracking methods based on online learning 翻译
  10. 基于Prometheus+Grafana+AlertManager的监控系统