Inheritance (object-oriented programming) in the context of Simula


Inheritance (object-oriented programming) in the context of Simula

Inheritance (object-oriented programming) Study page number 1 of 1

Play TriviaQuestions Online!

or

Skip to study material about Inheritance (object-oriented programming) in the context of "Simula"


⭐ Core Definition: Inheritance (object-oriented programming)

In object-oriented programming, inheritance is the mechanism of basing an object or class upon another object (prototype-based inheritance) or class (class-based inheritance), retaining similar implementation. It is also defined as deriving new classes (sub classes) from existing ones such as super class or base class and then forming them into a hierarchy of classes. In most class-based object-oriented languages like C++, an object created through inheritance, a "child object", acquires all the properties and behaviors of the "parent object", with the exception of: constructors, destructors, overloaded operators and friend functions of the base class. Inheritance allows programmers to create classes that are built upon existing classes, to specify a new implementation while maintaining the same behaviors (realizing an interface), to reuse code and to independently extend original software via public classes and interfaces. The relationships of objects or classes through inheritance give rise to a directed acyclic graph.

An inherited class is called a subclass of its parent class or super class. The term inheritance is loosely used for both class-based and prototype-based programming, but in narrow use the term is reserved for class-based programming (one class inherits from another), with the corresponding technique in prototype-based programming being instead called delegation (one object delegates to another). Class-modifying inheritance patterns can be pre-defined according to simple network interface parameters such that inter-language compatibility is preserved.

↓ Menu
HINT:

👉 Inheritance (object-oriented programming) in the context of Simula

Simula is the name of two simulation programming languages, Simula I and Simula 67, developed in the 1960s at the Norwegian Computing Center in Oslo, by Ole-Johan Dahl and Kristen Nygaard. Syntactically, it is an approximate superset of ALGOL 60,and was also influenced by the design of SIMSCRIPT.

Simula 67 introduced objects, classes, inheritance and subclasses, virtual procedures, coroutines, and discrete event simulation, and featured garbage collection. Other forms of subtyping (besides inheriting subclasses) were introduced in Simula derivatives.

↓ Explore More Topics
In this Dossier

Inheritance (object-oriented programming) in the context of Object (computer science)

In software development, an object is an entity semantic that has state, behavior, and identity.An object can model some part of reality or can be an invention of the design process whose collaborations with other such objects serve as the mechanisms that provide some higher-level behavior. Put another way, an object represents an individual, identifiable item, unit, or entity, either real or abstract, with a well-defined role in the problem domain.

A programming language can be classified based on its support for objects. A language that provides an encapsulation construct for state, behavior, and identity is classified as object-based. If the language also provides polymorphism and inheritance it is classified as object-oriented. A language that supports creating an object from a class is classified as class-based. A language that supports object creation via a template object is classified as prototype-based.

View the full Wikipedia page for Object (computer science)
↑ Return to Menu

Inheritance (object-oriented programming) in the context of Object-based language

An object-based language is a imperative programming language that provides a construct to encapsulate state and behavior as an object. A language that also supports inheritance or subtyping is classified as object-oriented. Even though object-oriented seems like a superset of object-based, they are used as mutually exclusive alternatives, rather than overlapping. Examples of strictly object-based languages – supporting an object feature but not inheritance or subtyping – are early versions of Ada, Visual Basic 6 (VB6), and Fortran 90.

Some classify prototype-based programming as object-based even though it supports inheritance and subtyping albeit not via a class concept. Instead an object inherits its state and behavior from a template object. A commonly used language with prototype-based programming support is JavaScript.

View the full Wikipedia page for Object-based language
↑ Return to Menu