What should replace object-oriented programming

object oriented programing

The object oriented programing, short OOP, is a programming paradigm based on the concept of object orientation, which promotes flexibility and reusability of programs. The basic idea of ​​object-oriented programming is to summarize data and functions that can be applied to this data as closely as possible in a so-called object and to encapsulate them externally so that methods of external objects cannot inadvertently manipulate this data. In contrast, the paradigm prevailing before OOP describes a strict separation of functions (program code) and data, but a weaker structuring of the data itself. Proponents of OOP argue that the OOP approach is easier to learn for computer novices than previous approaches .

In the following, important terms in object-oriented programming are briefly outlined. For further details, please refer to the respective individual sections and articles.

The individual modules that make up an object-oriented program while it is being processed are called objects. The conception of these objects is usually based on the following paradigms:


The structure of an object is determined by the attributes (including properties) of its class definition. The behavior of the object is determined by the methods of the class. Classes can be derived from other classes (inheritance). The class inherits the data structure (attributes) and the methods from the inheriting class (base class).


Each object in the system can be viewed as an abstract model of an actor who can complete orders, report and change its status and communicate with the other objects in the system without having to disclose how these capabilities are implemented (cf. abstract data type (ADT )).

Data encapsulation

In programming, data encapsulation refers to the hiding of implementation details. Direct access to the internal data structure is prevented and instead takes place via defined interfaces. Objects cannot unexpectedly read or change the internal state of other objects. An object has an interface that determines how the object can be interacted with. This prevents invariants of the program from being bypassed.


Different objects can react differently to the same message. If the assignment of a message to the reaction to the message is only resolved at runtime, this is also called late binding.


Different objects communicate via a message-response mechanism, which leads to changes in the objects and generates new message calls. The coupling stands for this as an index for the degree of feedback.


Inheritance means, in simplified terms, that a derived class also owns the methods and objects of the base class, ie “inherits” them. This means that the derived class can also access it. New types of objects can be defined on the basis of existing object definitions. New components can be added or existing ones can be superimposed. If inheritance is not allowed, the distinction is often also called object-based programming.

Programming Object-oriented programming, Wikipedia - The free encyclopedia, (compilation 11/29/2006 - The text is available under the “Creative Commons Attribution / Share Alike” license; Additional terms may apply. See Terms of Use for details. A list of the authors is available on Wikipedia.