vererbung englisch programmierung


In der Klasse Fahrzeug gibt es die Methode PruefeVerfuegbarkeit, die unter Verwendung der Fahrzeugnummer die Verfügbarkeit eines bestimmten Fahrzeugs ermittelt, beispielsweise durch einen Datenbankzugriff. 2015. Ein anderes Beispiel für Mehrfachvererbung ergibt sich durch die Erweiterung des einführenden Beispiels um die Klassen Schienenfahrzeug und Zweiwegefahrzeug. [38], Der Begriff Vererbung wird auch bei prototypenbasierten Programmierung verwendet. Dabei ersetzt die überschreibende Methode der abgeleiteten Klasse die überschriebene Methode. Die entsprechende Typprüfung kann jedoch erst zur Laufzeit erfolgen. Vererbung ist eine Form der Wiederverwendung von Code, mit der Programmierer neue Klassen entwickeln können, die auf bereits bestehenden Klassen basieren. [19] Besonders für Rapid-Prototyping eignet sich das Konzept. Dies muss aber nicht unbedingt auch für das zulässige Gesamtgewicht gelten. Häufig tritt dieser Fall in Verbindung mit Mehrfachvererbung auf. Vererbung Inheritance. Vererbung (C#-Programmierhandbuch) Inheritance (C# Programming Guide) 02/07/2020; 5 Minuten Lesedauer; B; o; M; O; y +1 In diesem Artikel. Vererbung dargestellt mittels UML. Die Vererbung dient dazu, aufbauend auf existierenden Klassen neue zu schaffen, wobei die Beziehung zwischen ursprünglicher und neuer Klasse dauerhaft ist. Auf Ebene der Programmierung ist eine solche Klassifizierung zum einen statisch – das heißt, eine Person kann programmtechnisch nicht ohne weiteres von der Rolle des Mitarbeiters zur Rolle des Kunden wechseln. Allerdings sind nach einer solchen Zuweisung die zusätzlichen Eigenschaften der Spezialisierung, im Beispiel die Anzahl der Sitzplätze, nicht direkt zugänglich. Die Gründe hierfür sind vielfältig, im Wesentlichen liegt ein Missverständnis zwischen den Entwicklern der Basisklasse und denen der verwendeten Spezialisierungen vor. Objektorientierte Programmiersprachen können eine Verletzung dieses Prinzips, das auf Grund der mit der Vererbung verbundenen Polymorphie auftreten kann, nicht von vornherein ausschließen. Bitte immer nur genau eine Deutsch-Englisch-Übersetzung eintragen (Formatierung siehe Guidelines), möglichst mit einem guten Beleg im Kommentarfeld. Java und .NET-Sprachen bieten eine eingeschränkte Unterstützung, dort kann eine Klasse zwar von beliebig vielen Schnittstellen, aber nur von einer Klasse erben, die Implementierungen enthält. C++ bietet über das Konzept sogenannter virtueller Basisklassen beide Möglichkeiten an. Als – etwas konstruiertes – Beispiel könnte eine Klasse RechtwinkligesDreieck von der Klasse Rechteck des obigen Beispiels die Implementierung erben, um die Hypotenuse über die Methode getDiagonale zu berechnen, nachdem die Länge der Katheten für Länge und Breite eingesetzt wurden. Die Klasse Rechteck besitzt die Attribute laenge und breite, die über den Konstruktor gesetzt werden. Bei der letzten Variante stehen abgeleitete Klasse und Basisklasse nicht in einer „ist-ein“-Beziehung zueinander. Ein sequentielles, mehrstufiges Erben wird dagegen nicht als Mehrfachvererbung bezeichnet. Multilevel-Vererbung kann mit Mehrfachvererbung kombiniert werden. [33] Allerdings steigern unnötig tief verschachtelte Vererbungshierarchien die Komplexität und das Verständnis erheblich, was zu Fehlern bei Verwendung oder Änderung der Basisklassen führen kann. [35], Vererbung — Der Ausdruck Vererbung bezeichnet: die Vererbung von Besitz und Eigentum im Todesfall im bürgerlichen Recht, siehe Erbe die Berufsvererbung; sie bedeutet die Nachfolge von Kindern in die Berufe ihrer Eltern (meistens Väter) in der… …   Deutsch Wikipedia, Vererbung (objektorientierte Programmierung) — Vererbung dargestellt mittels UML. Dort können von bestehenden Klassen ausgehend neue Klassen erstellt werden, die zunächst die gleichen Eigenschaften und Methoden besitzen wie die Ausgangsklasse. Das Gegenstück dazu, ein Downcast, ist problematischer, jedoch in einigen Fällen notwendig. Vererbung Zugriff auf private Variable: Java Basics - Anfänger-Themen: 10: 26. In Java oder C# dagegen ist keine solche Änderung der Sichtbarkeit bei Vererbung möglich. [33], Im zweiten Fall muss die Umbenennung oder Signaturanpassung in den spezialisierenden Klassen nachgezogen werden. Die Notwendigkeit von Mehrfachvererbung ist umstritten, sie wird nicht von allen Sprachen unterstützt, beispielsweise nicht von Smalltalk. Dies muss aber nicht unbedingt auch für das zulässige Gesamtgewicht gelten. Diese Seite wurde zuletzt am 1. Dabei gibt es die Möglichkeit, Vor- und Nachbedingungen für Methoden sowie Invarianten für Klassen zu definieren. [14], Die verschiedenen Programmiersprachen ermöglichen einen Aufruf der Basisklassenimplementierung auf unterschiedliche Weise. [20] Einerseits kann man in separaten Klassen den Programmcode verwalten, gleichzeitig hat man jedoch eine große Klasse. Im Folgenden zeigen wir Euch die wichtigsten Wörter, die in der Informatik-Branche verwendet werden: In Ruby hat private eine abweichende Bedeutung: Auf private Eigenschaften kann auch von spezialisierenden Klassen zugegriffen werden. Nach wie vor ist umstritten, ob die Vererbung nur für sehr eng begrenzte Anwendungsbereiche verwendet werden sollte und ob ein Einsatz mit der hauptsächlichen Intention des Wiederverwendens von Code der Softwarequalität eher abträglich ist. Die neue Klasse wird als abgeleitete Klasse oder Unterklasse bezeichnet, die Ausgangsklasse als Super- bzw. Eine neue Klasse kann dabei eine Erweiterung oder eine Einschränkung der ursprünglichen Klasse sein. Auch statisch typisierende Sprachen ermöglichen meist eine solche Konvertierung, die aber explizit veranlasst werden muss. Das Objekt der Basisklasse verhält sich jedoch beim Aufruf von virtuellen Methoden wie ein Objekt der spezialisierenden Klasse. Günstig ist, auf abstrakter Ebene möglichst weit zu differenzieren, bevor Implementierungen ergänzt werden. Mehrfaches Erben ist nicht bei allen Programmiersprachen möglich, bei manchen nur in eingeschränkter Form. Die abgeleitete Klasse hat die Attribute x und y und verfügt über die Methoden a und b (im UML Sprachgebrauch Operationen a und b). Auf Basis der Attribute Höchstgeschwindigkeit und Leistung können möglicherweise bereits in der Klasse Kraftfahrzeug einige Implementierungen vorgenommen werden, wenn für alle betreibbaren Fahrzeuge eines Landes die Eignung der Fahrerlaubnis bereits anhand des zulässigen Gesamtgewichts, der Höchstgeschwindigkeit und der Leistung entscheidbar ist. Vererbung ist ein Grundprinzip der objektorientierten Programmierung. [2], Die Vererbung ermöglicht bei der Softwareentwicklung eine Modellierung, die der menschlichen Vorstellung von der realen Welt sehr nahe kommt. [22], Von wenigen Sprachen wird die Deklaration der Ausnahmen (engl. Die Berechnung des Umfangs wird nicht reimplementiert, sondern von der Basisklasse übernommen – obwohl natürlich auch dort eine geringfügige Vereinfachung möglich wäre. In den Sprachen mit zentraler Basisklasse erbt eine Klasse, für die keine Basisklasse angegeben wird, implizit von dieser besonderen Klasse. Verfügbar für PC , Tablet & Smartphone . Many translated example sentences containing "objektorientierte Programmierung" – English-German dictionary and search engine for English translations. Weit schwerwiegender ist allerdings, wenn in der Vererbungshierarchie in nachgeordneten Klassen bereits eine gleichnamige virtuelle Methode existierte. Ein Modell dieser Strukturen wird in der Entwurfsphase aufgestellt. Ein Compiler (auch Kompiler; von für zusammentragen bzw. Die Vererbung (engl. Abgeleitete Klasse und Basisklasse stehen typischerweise in einer „ist-ein“-Beziehung zueinander. Eine solche auf Schnittstellen basierte Grundlage ist auch in Verbindung mit verteilten Architekturen wie CORBA oder COM notwendig.[12]. [9], Wenn in einer Klasse eine Methode überschrieben wird, soll häufig nur Funktionalität ergänzt und die Implementierung der Basisklasse weiterhin genutzt werden, da diese bereits allgemeine Aspekte abdeckt, die für die Spezialisierung ebenfalls gültig sind. Dass in den meisten Sprachen wie auch C++ oder Java[A 9] eine derartige Unterstützung fehlt, liegt daran, dass dieser Aspekt bei Konzeption der Sprache keine ausreichende Berücksichtigung fand, und die nachträgliche Einführung eines solchen Schlüsselworts aufgrund großer Kompatibilitätsprobleme auf erheblichen Widerstand stößt. [18] Das kann im skizzierten Beispiel sogar sinnvoll sein: Das Leergewicht ist bei einem Zweiwegefahrzeug grundsätzlich gleich, egal ob es auf der Schiene oder auf der Straße betrieben wird. Klassen dienen der Spezifikation von Datentyp und Funktionalität, die beide vererbt werden können. Die Vererbung (engl. Allerdings ist grundsätzlich nur der Zugriff auf Eigenschaften derselben Instanz möglich. [34], Der Begriff Vererbung wird auch bei prototypenbasierten Programmierung verwendet. Beispielsweise dürften für eine Klasse Person die Spezialisierungen WeiblichePerson und MännlichePerson in den wenigsten Fällen zweckmäßig sein und bei der Modellierung der eigentlich relevanten Aspekte eher behindern. Weiterhin ermöglicht es die Deklaration von Variablen, denen ein Objekt jeder beliebigen Klasse zugewiesen werden kann. So hat die objektorientierte Programmierung den Begriff der »Vererbung« eingeführt, wenn eine Klasse von einer anderen Klasse abgeleitet wird und deren Eigenschaften übernimmt. Die Entwickler, die eine „zerbrechliche“ Basisklasse ändern, sind in diesem Fall nicht in der Lage, die negativen Konsequenzen vorauszuahnen, die sich für spezialisierte Klassen durch die Änderung ergeben. Vererbung (Programmierung) Advertizing All translations of Vererbung (objektorientierte Programmierung) sens a gent. Die erste Sprache, die eine Mehrfachvererbung unterstützte, war Flavors, eine objektorientierte Erweiterung von LISP. Die abgeleitete Klasse übernimmt dabei die Attribute und Funktionalität der Basisklasse und wandelt diese gegebenenfalls ab oder ergänzt diese um weitere für diese Spezialisierung zusätzlich relevante Eigenschaften. Daneben gibt es Methoden (Funktionen) zur Berechnung des Umfangs und der Länge der Diagonalen des Rechtecks. Die Spezialisierung Quadrat erbt diese Funktionalität (Schlüsselwort extends). In der Klasse Fahrzeug gibt es die Methode PruefeVerfuegbarkeit, die unter Verwendung der Fahrzeugnummer die Verfügbarkeit eines bestimmten Fahrzeugs ermittelt, beispielsweise durch einen Datenbankzugriff. [15] Eine andere Lösung hält Ruby bereit, dort ist ebenfalls nur eine direkte Basisklasse möglich, allerdings kann eine Klasse beliebig viele sogenannte Modules einbinden, was dem Grundgedanken einer Mixin-Vererbung direkt entspricht. Java und die .NET-Sprachen führen zusätzlich noch Varianten ein, die die Sichtbarkeit auf sprachspezifische Untereinheiten der Programmstruktur (Package oder Assembly) begrenzen. Diese Methode soll bei Übergabe einer konkreten Fahrerlaubnis ermitteln, ob das durch ein Objekt dieser Klasse repräsentierte Fahrzeug mit dieser Fahrerlaubnis geführt werden darf. [30], Die Sicherstellung, dass solche Probleme vom Compiler erkannt werden können, erfordert eigentlich eine vergleichsweise geringfügige Ergänzung einer Sprache. Sie soll vor allem die Schwächen der objektorientierten Programmierung bei der Entwicklung großer Anwendungen und der Integration unabhängig… …   Deutsch Wikipedia, Schnittstelle (Programmierung) — Eine Schnittstelle (englisch interface) dient in der objektorientierten Programmierung der Vereinbarung gemeinsamer Signaturen von Methoden, welche in unterschiedlichen Klassen implementiert werden. Hochwertige und trendige Kleidung für Babys, Kleinkinder, Schülerinnen und Schüler dict.cc | Übersetzungen für 'vererben' im Englisch-Deutsch-Wörterbuch, mit echten Sprachaufnahmen, … [34], Neben den positiven Aspekten haben sich bei der objektorientierten Programmierung auch negative Aspekte im Hinblick auf die Softwarewartung gezeigt, die vor allem im Zusammenhang mit der Polymorphie, aber auch mit der Vererbung stehen. C++ bietet über das Konzept sogenannter virtueller Basisklassen beide Möglichkeiten an. In Java wurde die generische Programmierung erst ab Version 1.5 unterstützt, für .NET erst mit dem, Vorlage:Webachiv/IABot/www.informatik.uni-bonn.de, The Evolution Of Data Models And Approaches To Persistence In Database Systems, Vorlage:Webachiv/IABot/www.cs.colostate.edu, Vorlage:Webachiv/IABot/www.pm.inf.ethz.ch, https://de.wikipedia.org/w/index.php?title=Vererbung_(Programmierung)&oldid=204150707, Wikipedia:Defekte Weblinks/Ungeprüfte Archivlinks 2018-03, „Creative Commons Attribution/Share Alike“, Vererbung von Typ und Implementierung (meist, Reine Vererbung der Implementierung (in Java oder .NET-Sprachen nicht direkt möglich), Mögliche Namenskollisionen bei geerbten Attributen oder Methoden, Mehrfaches Auftreten derselben Basisklasse im Vererbungsbaum, Die Attribute aller Klassen einer Hierarchie werden in einer Tabelle gespeichert, Die Attribute jeder Klasse werden in einer separaten Tabelle gespeichert. Dies liegt zumeist daran, dass die Funktionalität der Basisklasse und auch das von den Spezialisierungen erwartete Verhalten nicht ausreichend präzise spezifiziert sind. Für das obige Beispiel des Zweiwegefahrzeugs bedeutet dies entweder das Vorhandensein von nur einer Instanz der Basisklasse Fahrzeug oder von deren zwei. Dieser Artikel wurde in die Liste der lesenswerten Artikel aufgenommen. Beispielsweise kann einer Variable des Typs PKW immer eine Variable des Typs Kraftfahrzeug zugewiesen werden. Ein sequentielles, mehrstufiges Erben wird dagegen nicht als Mehrfachvererbung bezeichnet. Eine Klasse, die als Subklasse aus anderen Klassen entsteht, ist kein autonomer Baustein. Objektorientierte Datenbanken haben das Ziel, einen sogenannten Impedance Mismatch zu vermeiden, der bei Abbildung der bei der Programmierung verwendeten Vererbungs- und Objektstruktur auf eine relationale Datenbank entsteht. • Die Studierenden können sicher und problemorientiert die Datenstrukturen Liste, Set, und Map nutzen und gem. Wenn eine Anwendung unterstellt, ein Rechteck vor sich zu haben, und bei Verdopplung der Länge eines Rechtecks eine Verdopplung der Fläche erwartet, überrascht bei einer Instanz des Typs Quadrat die durch automatische Angleichung der Breite verursachte Vervierfachung der Fläche. Deutsch-Englisch Wörterbuch für Informatik. Viele übersetzte Beispielsätze mit "Programmierung" – Englisch-Deutsch Wörterbuch und Suchmaschine für Millionen von Englisch-Übersetzungen. Die aus den verschiedenen Klassen geerbten Attribute liegen dabei typischerweise direkt hintereinander. Die Programmiersprachen erleichtern die Umsetzung sinnvoller Einschränkungen der Freiheitsgrade häufig nicht, beispielsweise sind in Java Methoden grundsätzlich virtuell und müssen als final gekennzeichnet werden, wenn kein Überschreiben durch eine ableitende Klasse möglich sein soll. Nach Rücksprung aus den gerufenen Basisimplementierungen wird die Prüfung jeweils fortgesetzt, wenn der Fall noch nicht entschieden werden konnte. Weiterhin enthält das Speicherabbild eines Objekts einen Zeiger auf die sogenannte Tabelle virtueller Methoden, die der Ermittlung des Einsprungspunkts der konkreten Implementierung bei einem Methodenaufruf dient. Vererbung wird verwendet, um die "is-a"-Beziehung oder die unter Typisierung in der objektorientierten Programmierung zu modellieren. Eine umfassende Unterstützung bieten beispielsweise auch C++, Eiffel und Python. Günstig ist, auf abstrakter Ebene möglichst weit zu differenzieren, bevor Implementierungen ergänzt werden. Die vererbende Klasse wird meist Basisklasse (auch Super-, Ober- oder Elternklasse) genannt, die erbende abgeleitete Klasse (auch Sub-, Unter- oder Kindklasse). Ein Vorteil davon ist, dass allgemeine Funktionalität, beispielsweise für die Serialisierung oder die Typinformation, dort untergebracht werden kann. [21], Im Zusammenhang mit dem liskovschen Substitutionsprinzip steht auch die Behandlung der Varianz bei den Signaturen überschriebener Methoden. In der Softwareentwicklung gab es seit den 1970er Jahren zwei parallele Entwicklungen, eine davon mündete in die objektorientierte Programmierung, andererseits wurden algebraische Spezifikationsmethoden zur Unterstützung des Softwareentwurfs entwickelt. Viele Programmiersprachen ermöglichen keine Varianz, das heißt, die Typen der Methodenparameter überschriebener Methoden müssen exakt übereinstimmen. [9] Ein solcher Downcast, beispielsweise von Kraftfahrzeug zu PKW, ist nur sinnvoll, wenn sichergestellt ist, dass das Objekt tatsächlich vom Typ der konkreten Spezialisierung ist. [A 4], Die fehlende Trennung zwischen Typ- und Implementierungsvererbung führt in der Praxis häufig dazu, dass in der Schnittstelle einer Klasse Implementierungsdetails durchscheinen. In der Programmiersprache Simula wurde 1967 die Vererbung mit weiteren Konzepten objektorientierter Programmierung erstmals eingeführt. Die Konsequenzen dieser Doppelfunktion der Vererbung werden seit Jahren kontrovers diskutiert. In diesem Fall ist auch bei statisch typisierenden Sprachen erst zur Laufzeit überprüfbar, ob ein Objekt tatsächlich den geforderten Typ aufweist. Eine weitere fragwürdige Verwendung ist, wenn die erbende Klasse nicht in einer „ist-ein“- sondern in einer „hat“-Beziehung zur Basisklasse steht, und eine Aggregation angebracht wäre. Python hat zum Erzeugen einer sinnvollen Vererbungshierarchie seit Version 2.3 in solchen Fällen das Konzept der sogenannten C3-Linearisierung implementiert. [30], Bei der objektrelationalen Abbildung der Vererbungsbeziehungen werden drei Möglichkeiten unterschieden:[31], Bei der ersten Variante (Single Table Inheritance) muss der Typ des Objekts in einer zusätzlichen Spalte gespeichert werden. Eine solche Änderung kann in der Praxis durchaus nachträglich erfolgen und ohne dass der Entwickler der Basisklasse und der abgeleiteten Klasse sich kennen müssen, beispielsweise bei Verwendung einer, Dieser Aspekt ist ein Grund dafür, warum eine derartige Spezialisierung in einigen Anwendungsfällen ungünstig ist. Die Vererbung ist eines der grundlegenden Konzepte der Objektorientierung und hat große Bedeutung in der Softwareentwicklung. Das bedeutet, Eingangsparameter können allgemeiner sein als bei der Basisklasse, der Typ des Rückgabewerts darf spezieller sein. Ein sehr häufiger Anwendungsfall der Mehrfachvererbung ist die Verwendung von Mixin-Klassen, die allgemein verwendbare Implementierungen beisteuern und somit der Vermeidung von Redundanz dienen.[15]. Apfelkuchen als Erbe von Kuchen und Apfel stellt ein bildhaftes Beispiel dieses Modellierungsfehlers dar, da Apfel keine sinnvolle Basisklasse ist. Dem liskovschen Prinzip entspricht die Unterstützung von Kontravarianz für Eingangs- und Kovarianz für Ausgangsparameter. Für erstgenanntes Problem bieten die Sprachen meist Möglichkeiten der Umbenennung. Abbildung 5.52 Die Klasse »Menü« ist eine Unterklasse sowohl der Klasse »Steuerelement« als auch der Klasse »Darstellbar«. [24], An jeder Stelle, an der ein Objekt einer bestimmten Klasse erwartet wird, kann auch ein Objekt verwendet werden, das einer Spezialisierung dieser Klasse angehört. Innerhalb eines dieses Modell implementierenden Anwendungsprogramms würde zur Prüfung, ob eine Fahrerlaubnis gültig ist, nach Eingabe der entsprechenden Fahrzeugdaten das konkrete, zu mietende Fahrzeug instantiiert, das heißt die entsprechende Spezialisierung.

Verdi Mta Eingruppierung, Restaurant Römerterrasse Ransbach-baumbach, Signal Gruppen Admin, Laut Fm Login, Lenovo Thinkpad T590 I5, Nibelungen Film Netflix, Avatar 3 Erscheinungsdatum, Nibelungen Film Netflix, Schauspielschulen Berlin Liste, Scholz Maschinenbau Mitarbeiter,

Dieser Beitrag wurde unter Uncategorized veröffentlicht. Setze ein Lesezeichen auf den Permalink.