Objective-C protocol vs inheritance vs extending?
- by ryanjm.mp
I have a couple classes that have nearly identical code. Only a string or two is different between them. What I would like to do is to make them "x" from another class that defines those functions and then uses constants or something else to define those strings that are different. I'm not sure if "x" is inheritance or extending or what. That is what I need help with.
For example:
objectA.m:
-(void)helloWorld {
NSLog("Hello %@",child.name);
}
objectBob.m:
#define name @"Bob"
objectJoe.m
#define name @"Joe"
(I'm not sure if it's legal to define strings, but this gets the point across)
It would be ideal if objectBob.m and objectJoe.m didn't have to even define the methods, just their relationship to objectA.m. Is there any way to do something like this? It is kind of like protocol, except in reverse, I want the "protocol" to actually define the functions.
If all else fails I'll just make objectA.m:
-(void)helloWorld:(NSString *name) {
NSLog("Hello %@",name);
}
And have the other files call that function (and just #import objectA.m).