OC 组合实现多继承
2024-10-20 20:42:52
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]; }
最新文章
- WPF DataGrid 性能加载大数据
- C,C++
- html5 audio的暂停与播放
- 缓存,socket乱码等
- ";巴卡斯杯"; 中国大学生程序设计竞赛 - 女生专场
- 20145223《Java程序程序设计》实验一实验报告
- Update UI from an asynchronous thread
- nginx入门到精通目录
- 试试markdown
- mysql -prompt选项
- vmware lan map
- cisco asa5520 IOS故障恢复
- oracle常用高级sql---1
- jQuery replaceWith replaceAll end的用法
- JGUI源码:实现简单MVVM单项绑定学习笔记(15)
- 【Teradata SQL】十进制转换成二进制
- linux服务器升级nginx
- Perl的数值和字符串
- 【知名的3D造型设计软件】犀牛 Rhinoceros 5.5.2 for Mac
- Python-反射getattr的应用
热门文章
- Android A/B System OTA分析(一)概览【转】
- MySQL实现按天分组统计,提供完整日期列表,无数据自动补0
- Oracle系列七 子查询
- bind 0.0.0.0的作用是什么呢?
- RabbitMQ整合Spring Booot【Exchange-Fanout模式】
- Docker容器(六)——创建docker私有化仓库
- SVN 本地文件锁/服务端文件锁清除步骤
- 使用二进制的方式部署 K8S-1.16 高可用集群
- Survey of single-target visual tracking methods based on online learning 翻译
- 基于Prometheus+Grafana+AlertManager的监控系统