Nat*_*all 2 inheritance objective-c
新手在这里试图了解继承.如果我初始化一个具有多个属性的新对象,并且我希望其他类帮助为这些属性赋值,那么我是否需要创建其他类的实例?可视化:
-(ObjA *)init{
self = [super init];
self.property1 = [method from Class A];
self.property2 = [method from Class B];
self.property3 = [method from Class C]; etc...
return self;
}
Run Code Online (Sandbox Code Playgroud)
换句话说,假设A,B和C类需要知道对象A是什么,我是否需要制作那些类方法实例方法并初始化每个对象?还有另一种方法可以解决这个问题吗?预先感谢您的帮助.
换句话说,假设A,B和C类需要知道对象A是什么
不.
您可以简单地从ClassA/B/C等调用方法.但返回类型必须与各自匹配property.
让,那property1是NSString你的ClassA方法必须
-(NSString *)methodClassA{
...
return someStringValue;
}
Run Code Online (Sandbox Code Playgroud)
然后你需要使用:
ClassA *objClassA=[ClassA new];
self.property1=[objClassA methodClassA];
Run Code Online (Sandbox Code Playgroud)
或者您可以通过以下方法使用类方法:
+(NSString *)methodClassA{
...
return someStringValue;
}
Run Code Online (Sandbox Code Playgroud)
并将其用作:
self.property1=[ClassA methodClassA];
Run Code Online (Sandbox Code Playgroud)