| Index: > A B C D E F G H I J K L M N O P Q R S T U V W X Y Z |
|
|||||
Though Simula ( 1967), a language created for making simulation programs, was probably the first language to have the primary features of an object-oriented language, Smalltalk is arguably the canonical example, and the one with which much of the theory of object-oriented programming was developed.
These languages include "pure" object-oriented languages such as Smalltalk, Eiffel and Ruby, which were designed specifically to facilitate - even enforce - object-oriented methods; languages such as Java and Python, which are primarily designed for object-oriented programming but have some procedural elements; and languages such as C++ and Perl, which are historically procedural languages that have been extended with some object-oriented features. Oberon (and its successor Oberon-2) include most of the functionality of objects ( classes, methodUsed mainly in object-oriented programming, the term method refers to a piece of code that is exclusively associated either with a class (called class methods or static methods or with an object (called instance methods . Like a procedure in procedural prs, inheritance, and reusabilityIn computer science and software engineering, reusability is the likelihood a segment of structured code can be used again to add new functionalities with slight or no modification. Reusable code reduces implementation time, increases the likelihood that) but in a distinctly original, and elegant, form.
Some languages include abstract data typeAbstract data types or ADTs are datatypes described in terms of the operations they support—their interface—rather than how they are implemented. An ADT consists of two components: an interface and an implementation. Users of an ADT are aware of the inter support, but not all of the features of object orientation (eg, Modula-2Modula-2 is a computer programming language invented by Niklaus Wirth at ETH around 1978, as a successor to Modula, another language by him that was never implemented. Description Modula-2 is a general purpose procedural language, sufficiently flexible to which provided excellent encapsulation and information hiding). These are sometimes called object-based languages.
Inheritance and polymorphismSee polymorphism for the basic idea of polymorphism In object-oriented programming theory, polymorphism is the ability of references and collections to hold objects of different types, and of the methods invoked on those references to find the right type- are usually used to reduce code bloat , but abstraction and encapsulation are used to increase code clarity, quite independent of the other two.