Skip to Content
Beginning Mac OS® X Programming
book

Beginning Mac OS® X Programming

by Michael Trent, Drew McCormack
July 2005
Beginner
719 pages
19h 54m
English
Wrox
Content preview from Beginning Mac OS® X Programming

7.2. Classes and Objects

Objective-C takes the concepts presented in the previous section, and makes minimal extensions to C in order to implement them. Classes in Objective-C are comprised of two basic code structures: the interface block and the implementation block.

The interface block defines the interface of a class, which includes its instance variables and methods. The interface is usually found in a header file, because it should be accessible to the rest of the program. Here is an interface block for a class similar to the Person type defined in the MyAddressBook program from Chapter 6:

@interface Person : NSObject
{
    NSString *name;
    NSString *address;
}
-(id)initWithName:(NSString *)name andAddress:(NSString *)address;
-(void)dealloc;
-(NSString *)name;
-(NSString *)address;
@end

The interface block begins with the keyword @interface, and ends with @end. After the @interface keyword, the name of the class is given, followed by a colon, and the name of the superclass. The superclass of Person is NSObject, just as Person is a subclass of NSObject. Person inherits all of the data and methods of the class NSObject.NSObject is an important Cocoa class from which nearly all classes ultimately descend. You learn more about this class as you go.

After the superclass, a block in braces declares the data belonging to the class. This part of the class interface is similar in many ways to a C struct, and the preceding code bears a close resemblance to the struct Person used in the ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Beginning, Mac OS® X Snow Leopard™ Programming

Beginning, Mac OS® X Snow Leopard™ Programming

Michael Trent, Drew McCormack

Publisher Resources

ISBN: 9780764573996Purchase book