|Mar 26, 2008, 11:01 AM||#1|
Why no * under polymorphism for superclass?
Hello. Need some help from the ObjC pros.
SpecificA *spec1 = [SpecificA new];
SpecificB *spec2 = [SpecificB new];
generalData = spec1;
generalData = spec2;
QUESTION: Why is it not
missing the dereferencing operator *???
Aren't all objects in ObjC really just pointers to struts? And therefore, the id "superclass" type should have generalData declared as a pointer, no?
|Mar 26, 2008, 11:28 AM||#2|
Go outside, the graphics are amazing!
|Mar 26, 2008, 11:39 AM||#3|
Thanks! Phew. You have no idea how much you helped clear up. It is really confusing for a beginner.
You are right, it should have been implemented to be declared specifically. After all, a lot of the syntax is supposed to force us to be clear about things and for the compiler to help check stuff at compile time.
I wonder if I can still use * without a compiler error? (Will try it later with gcc).
Actually, do you (or anyone else) have any general guideline about when to use * and when not to? (I still have not grokked a "golden rule" yet about this).
I know about using * to dereference, etc. a-la standard C; I am just sometimes confused why we use * and sometimes not, when dealing with objects.
I figured that anything inside the [brackets] is ObjC helping to "pre-process" the OOP stuff, so we don't use * inside the brackets, but outside of them, it sometimes gets confusing since there seem to exceptions to rules (as in the abovementioned original problem I had).
|Thread Tools||Search this Thread|
|thread||Thread Starter||Forum||Replies||Last Post|
|why is apple the moral compass? Why doesn't flash work? Why no casino apps?||akbrjg777||iPhone||16||Apr 22, 2010 05:46 PM|
|Why no Apple Remote Desktop for iphone?||Semio1es||iPhone||1||Jun 18, 2009 06:38 PM|
|Why no official rate plans for the 3G iphone???||Loonytik||iPhone||4||Jun 16, 2008 03:29 PM|
|Why the MBP keeps scanning for AirMac under 10.5.2?||hajime||OS X||0||Feb 20, 2008 08:08 PM|
|Anyone else concerned why no online pre-orders yet for Leopard?||powerbook911||OS X||24||Oct 15, 2007 08:55 AM|
All times are GMT -5. The time now is 11:53 AM.