\documentstyle{report} \begin{document} \chapter*{Additional Glossary Terms} The following is a list of terms that should be added to the glossary in Appendix-E of my book ``An Introduction to Object-Oriented Programming''. \begin{description} \item[abstraction] A technique in problem solving in which details are grouped into a single common concept. This concept can then be viewed as a single entity, and inessential information ignored. \item[access specifier] (C++) A keyword ({\sf private, protected, or public}) that controls access to data members and methods within user-defined classes. \item[block] (Smalltalk) An object that represents a sequence of statements to be executed at a later time. In this sense a block is similar to a nameless function. Blocks are values, and can be passed as arguments or (less frequently) assigned to variables. A block executes its associated statements in reponse to the message {\sf value}. \item[class hierarchy] A hierarchy formed by listing classes according to their class-subclass relationship. (See {\em hierarchy}). \item[cascade] (Smalltalk) a shorthand way of sending multiple messages to a single receiver. \item[composition] The technique of including user-defined object types as parts of a newly defined object, as opposed to using inheritance. \item[data hiding] An encapsulation technique that seeks to abstract away the implementation details concerning what data values are maintained in order for an object to provide a particular service. \item[dynamic binding] The binding of a name to an attribute that occurs at run time, rather than at compile time. See {\em binding time}. \item[encapsulation] The technique of hiding information within a structure, such as the hiding of instance data within a class. \item[global variable] A variable that can potentially be accessed in any portion of a program. \item[hierarchy] An organizational structure with components ranked into levels of subordination according to some set of rules. In Object-Oriented programming the most common hierarchy is that formed by the class-subclass relationship. \item[hybrid language] A language the incorporates features of more than one programming style. C++ and Object pascal are hybrid languages as they support both imperative and object-oriented programming. Smalltalk is a {\em pure} object-oriented language as it supports only object-oriented programming. \item[object-oriented programming] A style of design that is centered around the delegation of responsibilities to independent interacting agents, and a style of programming characterized by the use of message passing and classes organized into one or more inheritance hierarchies. \item[OOPSLA] The conference on Object-Oriented Programming Systems, Languages and Applications. An annual conference sponsored by the Association for Computing Machinery. \item[private method] A method that is not intended to be invoked from outside an object. More specifically, the receiver for the message that invokes a private method should always be the receiver for the method in which the invocation is taking place (see {\sf self}). Constrast with {\sf public method}. In Smalltalk private methods are established only by convention, whereas C++ can guarantee the behavior of private methods. \item[pseudo-variable] A variable that can be used without requiring declaration. The most common example is the variable representing the receiver in a message (See {\sf self}). \item[public method] A method that can be invoked at any time from outside an object. \end{description} \end{document}