Retired Document
Important: You should read Object-Oriented Programming with Objective-C and The Objective-C Programming Language instead.
Glossary
- abstract class
A class that’s defined solely so that other classes can inherit from it. Programs don’t use instances of an abstract class, only of its subclasses.
- abstract superclass
Same as abstract class.
- adopt
In the Objective-C language, a class is said to adopt a protocol if it declares that it implements all the methods in the protocol. Protocols are adopted by listing their names between angle brackets in a class or category declaration.
- anonymous object
An object of unknown class. The interface to an anonymous object is published through a protocol declaration.
- Application Kit
A Cocoa framework that implements an application's user interface. The Application Kit provides a basic program structure for applications that draw on the screen and respond to events.
- archiving
The process of preserving a data structure, especially an object, for later use. An archived data structure is usually stored in a file, but it can also be written to memory, copied to the pasteboard, or sent to another application. In Cocoa, archiving involves writing data to an
NSData
object. - asynchronous message
A remote message that returns immediately, without waiting for the application that receives the message to respond. The sending application and the receiving application act independently, and are therefore not “in sync.” See also synchronous message.
- category
In the Objective-C language, a set of method definitions that is segregated from the rest of the class definition. Categories can be used to split a class definition into parts or to add methods to an existing class.
- class
In the Objective-C language, a prototype for a particular kind of object. A class definition declares instance variables and defines methods for all members of the class. Objects that have the same types of instance variables and have access to the same methods belong to the same class. See also class object.
- class method
In the Objective-C language, a method that can operate on class objects rather than instances of the class.
- class object
In the Objective-C language, an object that represents a class and knows how to create new instances of the class. Class objects are created by the compiler, lack instance variables, and can’t be statically typed, but otherwise behave like all other objects. As the receiver in a message expression, a class object is represented by the class name.
- Cocoa
An advanced object-oriented development platform on Mac OS X. Cocoa is a set of frameworks with programming interfaces in both Java and Objective-C.
- compile time
The time when source code is compiled. Decisions made at compile time are constrained by the amount and kind of information encoded in source files.
- conform
In the Objective-C language, a class is said to conform to a protocol if it (or a superclass) implements the methods declared in the protocol. An instance conforms to a protocol if its class does. Thus, an instance that conforms to a protocol can perform any of the instance methods declared in the protocol.
- content view
In the Application Kit, the
NSView
object that’s associated with the content area of a window—all the area in the window excluding the title bar and border. All other views in the window are arranged in a hierarchy beneath the content view. - delegate
An object that acts on behalf of another object.
- designated initializer
The
init...
method that has primary responsibility for initializing new instances of a class. Each class defines or inherits its own designated initializer. Through messages toself
, otherinit...
methods in the same class directly or indirectly invoke the designated initializer, and the designated initializer, through a message tosuper
, invokes the designated initializer of its superclass. - dispatch table
Objective-C runtime table that contains entries that associate method selectors with the class-specific addresses of the methods they identify.
- distributed objects
Architecture that facilitates communication between objects in different address spaces.
- dynamic allocation
Technique used in C-based languages where the operating system provides memory to a running application as it needs it, instead of when it launches.
- dynamic binding
Binding a method to a message—that is, finding the method implementation to invoke in response to the message—at runtime, rather than at compile time.
- dynamic typing
Discovering the class of an object at runtime rather than at compile time.
- encapsulation
Programming technique that hides the implementation of an operation from its users behind an abstract interface. This allows the implementation to be updated or changed without impacting the users of the interface.
- event
The direct or indirect report of external activity, especially user activity on the keyboard and mouse.
- factory
Same as class object.
- factory method
Same as class method.
- factory object
Same as class object.
- formal protocol
In the Objective-C language, a protocol that’s declared with the
@protocol
directive. Classes can adopt formal protocols, objects can respond at runtime when asked if they conform to a formal protocol, and instances can be typed by the formal protocols they conform to. - framework
A way to package a logically-related set of classes, protocols and functions together with localized strings, on-line documentation, and other pertinent files. Cocoa provides the Foundation framework and the Application Kit framework, among others. Frameworks are sometimes referred to as “kits.”
- gdb
The standard Mac OS X debugging tool.
- id
In the Objective-C language, the general type for any kind of object regardless of class.
id
is defined as a pointer to an object data structure. It can be used for both class objects and instances of a class. - implementation
Part of an Objective-C class specification that defines its implementation. This section defines both public methods as well as private methods—methods that are not declared in the class’s interface.
- informal protocol
In the Objective-C language, a protocol declared as a category, usually as a category of the
NSObject
class. The language gives explicit support to formal protocols, but not to informal ones. - inheritance
In object-oriented programming, the ability of a superclass to pass its characteristics (methods and instance variables) on to its subclasses.
- inheritance hierarchy
In object-oriented programming, the hierarchy of classes that’s defined by the arrangement of superclasses and subclasses. Every class (except root classes such as
NSObject
) has a superclass, and any class may have an unlimited number of subclasses. Through its superclass, each class inherits from those above it in the hierarchy. - instance
In the Objective-C language, an object that belongs to (is a member of) a particular class. Instances are created at runtime according to the specification in the class definition.
- instance method
In the Objective-C language, any method that can be used by an instance of a class rather than by the class object.
- instance variable
In the Objective-C language, any variable that’s part of the internal data structure of an instance. Instance variables are declared in a class definition and become part of all objects that are members of or inherit from the class.
- interface
Part of an Objective-C class specification that declares its public interface, which include its superclass name, instances variables, and public-method prototypes.
- Interface Builder
A tool that lets you graphically specify your application’s user interface. It sets up the corresponding objects for you and makes it easy for you to establish connections between these objects and your own code where needed.
- introspection
The ability of an object to reveal information about itself as an object—such as its class and superclass, the messages it can respond to, and the protocols it conforms to.
- key window
The window in the active application that receives keyboard events and is the focus of user activity.
- link time
The time when files compiled from different source modules are linked into a single program. Decisions made by the linker are constrained by the compiled code and ultimately by the information contained in source code.
- localize
To adapt an application to work under various local conditions—especially to have it use a language selected by the user. Localization entails freeing application code from language-specific and culture-specific references and making it able to import localized resources (such as character strings, images, and sounds). For example, an application localized in Spanish would display “Salir” in the application menu. In Italian, it would be “Esci,” in German “Verlassen,” and in English “Quit.”
- main event loop
The principal control loop for applications that are driven by events. From the time it’s launched until the moment it’s terminated, an application gets one keyboard or mouse event after another from the Window Manager and responds to them, waiting between events if the next event isn’t ready. In the Application Kit, the
NSApplication
object runs the main event loop. - menu
A small window that displays a list of commands. Only menus for the active application are visible on-screen.
- message
In object-oriented programming, the method selector (name) and accompanying arguments that tell the receiving object in a message expression what to do.
- message expression
In object-oriented programming, an expression that sends a message to an object. In the Objective-C language, message expressions are enclosed within square brackets and consist of a receiver followed by a message (method selector and arguments).
- method
In object-oriented programming, a procedure that can be executed by an object.
- multiple inheritance
In object-oriented programming, the ability of a class to have more than one superclass—to inherit from different sources and thus combine separately-defined behaviors in a single class. Objective-C doesn’t support multiple inheritance.
- mutex
Also known as mutual exclusion semaphore. Used to synchronize thread execution.
- name space
A logical subdivision of a program within which all names must be unique. Symbols in one name space won’t conflict with identically named symbols in another name space. For example, in Objective-C, the instance methods of each class are in a separate name space, as are the class methods and instance variables.
- nil
In the Objective-C language, an object
id
with a value of 0. - object
A programming unit that groups together a data structure (instance variables) and the operations (methods) that can use or affect that data. Objects are the principal building blocks of object-oriented programs.
- outlet
An instance variable that points to another object. Outlet instance variables are a way for an object to keep track of the other objects to which it may need to send messages.
- polymorphism
In object-oriented programming, the ability of different objects to respond, each in its own way, to the same message.
- procedural programming language
A language, like C, that organizes a program as a set of procedures that have definite beginnings and ends.
- protocol
In the Objective-C language, the declaration of a group of methods not associated with any particular class. See also formal protocol and informal protocol.
- receiver
In object-oriented programming, the object that is sent a message.
- reference counting
Memory-management technique in which each entity that claims ownership of an object increments the object’s reference count and later decrements it. When the object’s reference count reaches zero, the object is deallocated. This technique allows one instance of an object to be safely shared among several other objects.
- remote message
A message sent from one application to an object in another application.
- remote object
An object in another application, one that’s a potential receiver for a remote message.
- runtime
The time after a program is launched and while it’s running. Decisions made at runtime can be influenced by choices the user makes.
- selector
In the Objective-C language, the name of a method when it’s used in a source-code message to an object, or the unique identifier that replaces the name when the source code is compiled. Compiled selectors are of type
SEL
. - static typing
In the Objective-C language, giving the compiler information about what kind of object an instance is, by typing it as a pointer to a class.
- subclass
In the Objective-C language, any class that’s one step below another class in the inheritance hierarchy. Occasionally used more generally to mean any class that inherits from another class, and sometimes also used as a verb to mean the process of defining a subclass of another class.
- superclass
In the Objective-C language, a class that’s one step above another class in the inheritance hierarchy; the class through which a subclass inherits methods and instance variables.
- surrogate
An object that stands in for and forwards messages to another object.
- synchronous message
A remote message that doesn’t return until the receiving application finishes responding to the message. Because the application that sends the message waits for an acknowledgment or return information from the receiving application, the two applications are kept “in sync.” See also asynchronous message.
Copyright © 2008 Apple Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2008-06-09