OC学习:OC中实现多继承
来源:互联网 发布:windows能开发ios吗 编辑:程序博客网 时间:2024/06/08 00:23
第一种非协议:将classA类和classB类作为classC类中的属性。
在classC中
#import <Foundation/Foundation.h>
#import "ClassA.h"
#import "ClassB.h"
@interface ClassC : NSObject
@property (nonatomic,strong) ClassA *aClass;
@property (nonatomic,strong) ClassB *bClass;
-(id) init;
@end
#import "ClassC.h"
@implementation ClassC
@synthesize aClass =_classA,bClass = _classB;
//重新初始化方法,给类属性添加对象
-(id) init{
if (self = [super init]) {
self.aClass = [ClassA new];
self.bClass = [ClassB new];
}
return self;
}
@end
第二种协议:在OC中用协议实现多继承
1.建立CLassA 类
@interface ClassA : NSObject
@property (nonatomic,assign) NSInteger ID;
@end
//在ClassA.h文件中定下协议
@protocol ClassAProtocol <NSObject>
//在ClassB.h中定义属性
@end
2.建立CLassB 类
#import <Foundation/Foundation.h>
@interface ClassB : NSObject
//在ClassB.h中定义属性
@property (nonatomic,strong) NSString *name;
@end
//在ClassB.h中定下协议ClassBProtocol
@protocol ClassBProtocol <NSObject>
@property (nonatomic,strong) ClassB *bClass;
@end
3.建立CLassC 类
#import <Foundation/Foundation.h>
#import "ClassA.h"
#import "ClassB.h"
//在ClassC 中实现协议
@interface ClassC : NSObject <ClassAProtocol,ClassBProtocol>
-(id) init;
@end
#import "ClassC.h"
//在ClassC.m文件中实现协议方法
@implementation ClassC
@synthesize aClass =_classA,bClass = _classB;
//重新初始化方法,给类属性添加对象
-(id) init{
if (self = [super init]) {
self.aClass = [ClassA new];
self.bClass = [ClassB new];
}
return self;
}
@end
- OC学习:OC中实现多继承
- oc实现多继承
- OC实现多继承
- OC中多继承?
- OC中通过协议实现多继承
- iOS开发:oc中实现多继承
- OC的多继承实现
- OC如何实现多继承
- oc学习之继承
- OC学习笔记20--OC中singleton的实现
- oc 多继承
- OC的多继承
- OC 中类的继承
- oc中类的继承
- OC中继承和复合
- OC 继承
- OC-继承
- OC继承
- Python IDLE(python GUI)与python(comand line)有什么区别
- C#事件与委托详解
- Socket传输结构体数据注意事项
- poj 2752 seek the name,seek the fame【KMP】
- ffmpeg: error while loading shared libraries: libavdevice.so.55: cannot open shared object file: No
- OC学习:OC中实现多继承
- pip install lxml因网络问题失败
- 非常好的理解遗传算法的例子
- JMeter下变量在线程组间的使用
- UIWebView的使用
- 自定义UI制作流程
- 如何定义自己的线程函数与第三方系统兼容
- GDB的命令手册,很不错
- hdu1166线段树单点更新