Next: , Previous: Why object-oriented programming?, Up: Object-oriented Forth


5.23.2 Object-Oriented Terminology

This section is mainly for reference, so you don't have to understand all of it right away. The terminology is mainly Smalltalk-inspired. In short:

class
a data structure definition with some extras.


object
an instance of the data structure described by the class definition.


instance variables
fields of the data structure.


selector
(or method selector) a word (e.g., draw) that performs an operation on a variety of data structures (classes). A selector describes what operation to perform. In C++ terminology: a (pure) virtual function.


method
the concrete definition that performs the operation described by the selector for a specific class. A method specifies how the operation is performed for a specific class.


selector invocation
a call of a selector. One argument of the call (the TOS (top-of-stack)) is used for determining which method is used. In Smalltalk terminology: a message (consisting of the selector and the other arguments) is sent to the object.


receiving object
the object used for determining the method executed by a selector invocation. In the objects.fs model, it is the object that is on the TOS when the selector is invoked. (Receiving comes from the Smalltalk message terminology.)


child class
a class that has (inherits) all properties (instance variables, selectors, methods) from a parent class. In Smalltalk terminology: The subclass inherits from the superclass. In C++ terminology: The derived class inherits from the base class.