Objects, Messages, and Targets
The Cocoa Application Kit is written in Objective-C, a hybrid language based on ANSI C and SmallTalk that was developed by Brad Cox. The principal building block of object-oriented programs is the object . Objects can be thought of as bundles of related ANSI C variables and functions with lots of extra functionality.
Objective-C objects are self-contained code entities that communicate by sending messages to one another. A message is like a function call in a traditional programming language in that it causes a procedure to be executed. However, a message is unlike a function call in that it is sent to a specific object; it is not simply “called.” The procedures that are executed — called methods in Objective-C — are “encapsulated” inside objects, and thus different objects can respond to the same message in different ways.
Unlike some object-oriented languages, Objective-C doesn’t require that you know the type (class) of an object before you send it a message. This is known as dynamic or runtime binding; the message is bound to the object at runtime instead of compile-time. It allows for much greater flexibility, because certain decisions can be made following a user’s action. For example, when a user chooses Cut from an application’s Edit submenu, a cut: message is sent to a target object (the colon is part of the message). If an application lets a user cut text, graphics, and other types of data, the cut: message will have varying targets ...
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