Basisklasse

Eine Basisklasse[1][2][3] – aus dem englischen base class entlehnt, zudem teilweise übersetzt Grundklasse oder, aus einer anderen Sichtweise heraus, auch Superklasse[1][4][5] (aus dem englischen superclass) und zudem Oberklasse[6][4][5] sowie übergeordnete Klasse[3] oder auch Elternklasse[5] (aus dem englischen parent class) – ist, in der objektorientierten Programmierung, eine Klasse, die ihre Eigenschaften (Attribute) und Methoden an abgeleitete Klassen vererbt.

Insbesondere die Bezeichnung Basisklasse soll manchmal verdeutlichen, dass sie der Ausgangspunkt (oder auch die Grundlage) für weitere von ihr abgeleitete Klassen ist und gleichzeitig keine eigenen Basisklassen hat, was dann im Umkehrschluss bedeutet, dass die Basisklasse stets die höchste definierte Klasse in ihrer Klassenhierarchie ist. Es kann aber auch mehr als eine Basisklasse geben, welche dann unabhängig voneinander ein Netz von Unterklassen ergeben. So eine systematisch angelegte Sammlung wird auch Klassenbibliothek genannt.

Eine Basisklasse kann auch als abstrakte Basisklasse deklariert sein (englisch abstract base class, kurz ABC[2]) und in dem Fall die direkte Instanziierung von abstrakten Klassen verbieten. Sie dient dann lediglich der Zusammenfassung, der Abstraktion von Attributen und Methoden der von ihr abgeleiteten Klassen.

Einzelnachweise

  1. a b Bjarne Stroustrup: Die C++-Programmiersprache. 2. Auflage. Addison-Wesley, Bonn 1992, ISBN 3-89319-386-3, S. 27 (englisch: The C++ programming language, second edition, reprinted with corrections. Übersetzt von Elke Kasimir).
  2. a b Scott Meyers: Effektiv C++ programmieren: 50 Möglichkeiten zur Verbesserung Ihrer Programme. 2. Auflage. Addison-Wesley, Bonn 1995, ISBN 3-89319-816-4, S. 158 (Originaltitel: Effective C++ – 50 Specific Ways to Improve Your Programs and Design. Übersetzt von Elke Kasimir).
  3. a b Rebecca Wirfs-Brock, Brian Wilkerson, Lauren Wiener: Objektorientiertes Software-Design. Hanser, München 1993, ISBN 3-446-16319-0, S. 26.
  4. a b Bernd Oestereich: Objektorientierte Softwareentwicklung mit der Unified Modeling Language. 3. Auflage. Oldenbourg, München 1997, ISBN 3-486-24319-5, S. 274.
  5. a b c Christian Ullenboom: Java ist auch eine Insel. Galileo Computing, 2009, ISBN 978-3-8362-1371-4, Kapitel 6.8.1 Vererbung in Java.
  6. James Rumbaugh: Objektorientiertes Modellieren und Entwerfen. Hanser, München 1993, ISBN 3-446-17520-2, S. 48.