Las Pilitas Time Portal |
One thing I’ve found challenging learning Objective-C is knowing that I’m doing things that I’ll be unlearning later on. In this example, I know that naming each class as a particular Time Portal isn’t as cleanly object oriented as I’ll be later on. I wouldn’t setup a record in a database schema like this. Or even in an old-fashioned file-management system. These are really instances of the same class.
Now, when I say ‘instances of the same class’ am I thinking right? There’s where a background using database methodology sometimes trips me up. Like when I catch myself thinking than an object is a variable or a class is a record. They aren’t.
Come back to this later and see if I had this ‘instance’ business right or not.
……..
[Session started at 2010-10-20 09:27:32 -0700.]
GNU gdb 6.3.50-20050815 (Apple version gdb-1469) (Wed May 5 04:36:56 UTC 2010)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "x86_64-apple-darwin".tty /dev/ttys001
Loading program into debugger…
Program loaded.
run
[Switching to process 333]
Running…
Located Portal at LasPilitasSLO.
Located Portal at MillbraeBARTStation.
Debugger stopped.
Program exited with status value:0.
...
#import <stdio.h>
#import <Foundation/NSObject.h>
// GUI NOTE It's SHIFT Command/Apple F to do a find & replace in XCode
// Been trying to find global find & replace for awhile now!
// Regular appleF just highlights all the occurances in the piece of code
// Locate and Identify Time Portals for Portal Pilots Service
// Based on ideas from Page 112 of Virtual Quickstart Guide Objective-C (Holzner)
// Multiple Object Types and use of 'id'type
//
// Create objects of two different class types
// Place them in the same variable of type id
// NOTE ORDER of *multiple* INTERFACE & METHOD sections
// I write the interface for one class then it's methods
// I repeat this structure for the other class
//
@interface LasPilitasSLO:NSObject
-(void) print;
@end
//METHODS for LasPilitasSLO
@implementation LasPilitasSLO
-(void) print
{
printf("Located Portal at LasPilitasSLO.\n");
}
@end
@interface MillbraeBARTStation:NSObject
-(void) print;
@end
//METHODS for MillbraeBARTStation
@implementation MillbraeBARTStation
-(void) print
{
printf("Located Portal at MillbraeBARTStation.\n");
}
@end
int main (void) {
LasPilitasSLO *c1 = [LasPilitasSLO new];
MillbraeBARTStation *c2 = [MillbraeBARTStation new];
// Remember
// Here I am declaring 'container' to be of type id
id container;
container = c1;
[container print];
container = c2;
[container print];
return 0;
}
No comments:
Post a Comment