Open in App
Login Anmelden

Select your language

Suggested languages for you:
StudySmarter - Die all-in-one Lernapp.
4.8 • +11k Ratings
Mehr als 5 Millionen Downloads
Free
|
|
Objektorientierte Programmierung

Du kennst Dich gut mit Computern aus und hast vielleicht sogar etwas Programmiererfahrung. Du hast also den Begriff objektorientierte Programmierung schon oft gehört und Dich gefragt, was das genau ist? Die Antwort auf diese Frage findest Du in dieser Erklärung.

Inhalt von Fachexperten überprüft
Kostenlose StudySmarter App mit über 20 Millionen Studierenden
Mockup Schule

Entdecke über 50 Millionen kostenlose Lernmaterialien in unserer App.

Objektorientierte Programmierung

Illustration

Lerne mit deinen Freunden und bleibe auf dem richtigen Kurs mit deinen persönlichen Lernstatistiken

Jetzt kostenlos anmelden

Nie wieder prokastinieren mit unseren Lernerinnerungen.

Jetzt kostenlos anmelden
Illustration

Du kennst Dich gut mit Computern aus und hast vielleicht sogar etwas Programmiererfahrung. Du hast also den Begriff objektorientierte Programmierung schon oft gehört und Dich gefragt, was das genau ist? Die Antwort auf diese Frage findest Du in dieser Erklärung.

Objektorientierte Programmierung Definition

Die objektorientierte Programmierung (OOP) ist ein Paradigma der Computerprogrammierung, bei dem das Softwaredesign auf Daten oder Objekten und nicht auf Funktion und Logik basiert.

Diese Programmiermethode eignet sich gut für große, komplexe Programme, die aktualisiert oder aktiv gewartet werden. Dazu gehören:

  • Fertigungsprogramme
  • Build-Programme
  • Mobile Apps

Beispielsweise kann die objektorientierte Programmierung verwendet werden, um Systemsimulationssoftware zu erstellen.

Der erste Schritt in der objektorientierten Programmierung besteht darin, alle Objekte zu sammeln, mit denen ein Programmierer arbeiten möchte, und festzustellen, wie sie zueinander in Beziehung stehen. Dies ist eine Aufgabe namens Datenmodellierung.

Struktur der objektorientierten Programmierung

Die Struktur oder Bausteine der objektorientierten Programmierung umfassen:

  • Eine Klasse ist ein benutzerdefinierter Datentyp, der als Blaupause für einzelne Objekte, Attribute und Methoden dient.
  • Ein Objekt ist eine Instanz einer Klasse, die mit speziell definierten Daten erstellt wurde. Objekte können realen Objekten oder abstrakten Entitäten entsprechen.
  • Eine Methode ist eine innerhalb einer Klasse definierte Funktion, die das Verhalten eines Objekts beschreibt. Alle Methoden in einer Klassendefinition beginnen mit einer Referenz auf das Instanzobjekt. In Objekten enthaltene Unterprogramme werden auch als Instanzmethoden bezeichnet. Programmierer verwenden Methoden, um die Wiederverwendbarkeit zu erhöhen oder Funktionalitäten jeweils in einem Objekt zu kapseln.
  • Attribute werden in der Klassenvorlage definiert und repräsentieren den Zustand des Objekts. Objekte haben Daten, die in Attributfeldern gespeichert sind. Klassenattribute gehören zur Klasse selbst.

Objektorientierte Programmierung Grundlagen

Was sind die Grundlagen der objektorientierten Programmierung?

Die objektorientierte Programmierung ermöglicht eine natürliche Modellierung, steigert die Entwicklereffizienz durch Wiederverwendbarkeit von Programmelementen und reduziert die Anwendungskomplexität durch Abstraktion und Kapselung.

Abstraktion

Objekte legen nur die internen Mechanismen offen, die für die Verwendung durch andere Objekte relevant sind, wodurch unnötiger Implementierungscode verborgen wird. Abgeleitete Klassen können seine Funktionalität erweitern.

Dieses Konzept ermöglicht es Entwicklern, im Laufe der Zeit problemlos zusätzliche Änderungen und Ergänzungen vorzunehmen.

Kapselung

Dieses Prinzip besagt, dass alle wesentlichen Informationen im Objekt enthalten sind und nur ausgewählte Informationen offengelegt werden. Die Implementierung und der Status jedes Objekts werden innerhalb der Klasse, in der es definiert ist, privat gehalten. Kein anderes Objekt hat Zugriff auf diese Klasse oder die Berechtigung, Änderungen daran vorzunehmen. Es kann nur eine Liste öffentlicher Funktionen oder Methoden aufgerufen werden.

Diese Eigenschaft zum Verbergen von Daten erhöht die Programmsicherheit und verhindert versehentliche Datenbeschädigung.

Vererbung

Klassen können Code aus anderen Klassen wiederverwenden. Beziehungen und Unterklassen zwischen Objekten können angegeben werden, sodass Entwickler gemeinsame Logik wiederverwenden und gleichzeitig eine klare Hierarchie beibehalten können. Dieses Merkmal der objektorientierten Programmierung erzwingt eine tiefere Datenanalyse, reduziert die Entwicklungszeit und gewährleistet ein höheres Maß an Genauigkeit.

Polymorphismus

Objekte sind so konzipiert, dass sie zusammenarbeiten und in vielen Formen vorkommen. Das Programm bestimmt die Bedeutung oder Verwendung, die für jeden Lauf dieses Objekts von der übergeordneten Klasse erforderlich ist, wodurch die Notwendigkeit einer Codeduplizierung reduziert wird. Dann wird eine Unterklasse erstellt, um die Funktionalität der Elternklasse zu erweitern.

Polymorphismus ermöglicht es verschiedenen Arten von Objekten, dieselbe Schnittstelle zu passieren.

Objektorientierte Programmierung Prinzipien

In den 1990er-Jahren wurden viele objektorientierte Programmiersprachen entwickelt, um das Programmieren komplexer Anwendungen zu erleichtern. Die objektorientierte Programmierung (OOP) macht Anwendungen robuster, einfacher zu warten und weniger fehleranfällig.

Die objektorientierte Programmierung basiert auf folgenden Prinzipien:

  • Objekt-Klassen-Beziehung
  • Kapselungsprinzip
  • Objektidentität
  • Konstruktoren und Dekonstruktoren

Objekt-Klasse-Beziehung

Eine Klasse ist ein abstrakter Oberbegriff für Dinge (Objekte), die eine gemeinsame Struktur oder ein gemeinsames Verhalten haben.

Ein Objekt ist eine Instanz einer Klasse, die zur Laufzeit verfügbar ist, wenn Speicherplatz verfügbar wird. Ein Objekt kann auch als Instanz einer Klasse bezeichnet werden. Wenn eine Instanz einer Klasse erstellt wird, wird dies als Instanziierung bezeichnet. Die Beziehung zwischen Klassen und Instanzen wird als Objektklasse- oder Instanzbeziehung bezeichnet.

Wenn Du Auto als Klasse definierst, dann ist Dein rotes Auto ein Objekt (eine Instanz) der Klasse Auto.

Kapselungsprinzip

Eine Klasse und damit ihre Instanzen sind durch folgende Eigenschaften gekennzeichnet:

  • Attribute (oder Daten) beschreiben die Struktur eines Objekts innerhalb einer Klasse: die Teile des Objekts und die darin enthaltenen Informationen.
  • Operationen (oder Methoden, Elementfunktionen) beschreiben das Verhalten von Objekten einer Klasse. Operationen können Parameter haben.
  • Zusicherungen sind Bedingungen und Regeln, die Objekte erfüllen müssen.
  • Beziehungen können zu anderen Klassen gegeben werden.

Beispielsweise kann ein Auto Attribute wie Farbe, Marke, Geschwindigkeit usw. haben.

Es gibt Methoden wie Anfahren des Autos, Beschleunigen des Autos, Bremsen, Parken des Autos usw.

Das Fahrzeugbeschleunigungsverfahren erhält Parameter wie: Soll-Ende Geschwindigkeit, zum Beispiel 50 km/h. Eine vernünftige Behauptung für die Geschwindigkeitseigenschaft ist, dass sie ≥ 0 ist.

Die Klasse Auto kann eine (später zu spezifizierende) Beziehung mit der Klasse Fahrzeug haben.

Klassen kombinieren Eigenschaften und Methoden zu einer Einheit. Standardmäßig sind Eigenschaften nur über die Methoden der Klasse zugänglich. Dies wird als eingeschränkter oder gekapselter Zugriff bezeichnet. Eigenschaften und Methoden sind entweder:

  • für den externen Zugriff freigegeben (sie werden dann öffentlich (public) gemacht).
  • oder vor Zugriff geschützt (dann sind sie geschützt (protected) oder sogar privat (private)).

Beispielsweise kann der direkte Zugriff auf das Geschwindigkeitsattribut von Objekten der Klasse Car geschützt werden und ist nur über die (öffentlichen) Methoden Accelerate Car und Brake Car möglich.

Objektidentität

Ein Objekt kann unabhängig von den spezifischen Werten seiner Attribute eindeutig von anderen Objekten unterschieden werden.

Selbst wenn ein Auto die gleiche Marke und Farbe hat und gleich schnell fährt wie Deins, ist es immer noch ein anderes Auto.

Konstruktoren und Dekonstruktoren

Die Erstellung und Zerstörung eines Objekts einer Klasse erfolgt mit speziellen Methoden, Konstruktoren oder Destruktoren. Sie stellen benötigten oder frei gewordenen Speicherplatz zur Verfügung. Es kann mehrere Konstruktoren geben, z. B. ohne oder mit gleichzeitiger Initialisierung, sie unterscheiden sich nur in Anzahl und Typ ihrer Parameter.

Objektorientierte Programmierung Beispiele

Simula gilt als die erste objektorientierte Programmiersprache, aber viele andere Programmiersprachen werden heute mit OOP verwendet. Einige Programmiersprachen eignen sich jedoch besser für die objektorientierte Programmierung als andere.

Nicht alle Programmiersprachen unterstützen die objektorientierte Programmierung. Beispielsweise ist C++ und Pascal rein prozedural. Sprachen wie C++ oder Object Pascal erlauben OOP, erzwingen es aber nicht. Die resultierenden Programme können eine Mischung verschiedener Modelle sein. Gleiches gilt für Sprachen wie Hypertext Preprocessor (PHP) oder Perl, die durch Erweiterungen mit OOP kompatibel sein können. Andere wie Eiffel, Smalltalk, Java oder C# sind vollständig objektorientiert.

Objektorientierte Programme Entwurf

Wie in der imperativen oder funktionalen Programmierung Entwerfen (und damit Modellieren) des eigentlichen Algorithmus (Problem) ist ein wichtiges Thema.

Für das OO-Design gibt es eine Unified Modeling Language (UML):

  • UML ist eine konzeptionelle Sprache zur Modellierung von Softwaresystemen.
  • UML ist eine Art Pseudocode, der jedoch eine wohldefinierte Semantik hat und von vielen Programmen verarbeitet werden kann.
  • UML-Code selbst ist nicht ausführbar. Dennoch wird UML von vielen Experten als Prototyp für die nächste Generation von Programmiersprachen betrachtet.

Mehr zum UML Diagramm findest Du in einer eigenständigen Erklärung auf StudySmarter!

Vorteile objektorientierte Programmierung

In der folgenden Tabelle kannst Du Dich über die Vorteile von OOP informieren.

Vorteile – OOPBeschreibung
ModularitätDurch die Kapselung können Objekte in sich abgeschlossen sein, was das Debuggen und die gemeinsame Entwicklung erleichtert.
WiederverwendbarkeitCode kann durch Vererbung wiederverwendet werden, was bedeutet, dass ein Team denselben Code nicht mehr als einmal schreiben muss.
ProduktivitätDurch die Verwendung von Bibliotheken und wiederverwendbarem Code können Programmierer neue Programme schneller erstellen.
Leichte Erweiterbarkeit und Skalierbarkeit Programmierer können Systemfunktionen unabhängig voneinander implementieren.
SchnittstellenbeschreibungenDas Schreiben eines externen Systems ist einfach, da Nachrichtenaustauschtechniken verwendet werden, um zwischen Objekten zu kommunizieren.
SicherheitKapselung und Abstraktion verbergen komplexen Code, erleichtern die Wartung von Software und schützen Internetprotokolle.
FlexibilitätPolymorphismus ermöglicht es einer einzelnen Funktion, der Klasse zu entsprechen, in der sie platziert ist. Außerdem können verschiedene Objekte dieselbe Schnittstelle passieren.

Nachteile objektorientierte Programmierung

Das objektorientierte Programmiermodell wurde von Entwicklern aus vielen Gründen kritisiert. Die größte Sorge ist, dass sich OOP zu sehr auf die Datenkomponente der Softwareentwicklung und nicht genug auf Berechnungen oder Algorithmen konzentriert. Außerdem kann das Schreiben von OOP-Code komplexer sein und das Kompilieren kann länger dauern.

Aus diesem Grund stehen folgende Alternativen zur Verfügung:

  1. Funktionale Programmierung: Dazu gehören Sprachen denn Erlang und Scala, welche für Fernmeldewesen und fehlertolerante Systeme verwendet werden.
  2. Strukturierte oder modulare Programmierung: Dazu gehören Sprachen wie PHP und C#.
  3. Imperative Programmierung: Diese Alternative zu OOP konzentriert sich eher auf Funktionen als auf Templates und beinhaltet C++ und Java.
  4. Deklarative Programmierung: Diese Programmiermethode befasst sich mit Aussagen darüber, was die Aufgabe oder das gewünschte Ergebnis ist, nicht wie es erreicht werden soll. Dazu gehören Prolog und Lisp.
  5. Logische Programmierung: Diese Methode basiert hauptsächlich auf formaler Logik und verwendet Sprachen wie Prolog. Sie umfasst eine Reihe von Aussagen, die Fakten oder Regeln über den Problembereich darstellen. Dabei wird sich auf Aufgaben, die von regelbasierten logischen Abfragen profitieren können, konzentriert.

Objektorientierte Programmierung - Das Wichtigste

  • Objektorientierte Programmierung Definition: Die objektorientierte Programmierung (OOP) ist ein Paradigma der Computerprogrammierung, bei dem das Softwaredesign auf Daten oder Objekten und nicht auf Funktion und Logik basiert.
  • Objektorientierte Programmierung Grundlagen: Die objektorientierte Programmierung ermöglicht eine natürliche Modellierung, steigert die Entwicklereffizienz durch Wiederverwendbarkeit von Programmelementen und reduziert die Anwendungskomplexität durch Abstraktion und Kapselung.
  • Objektorientierte Programmierung Prinzipien: Die objektorientierte Programmierung basiert auf folgenden Prinzipien:
    • Objekt-Klassen-Beziehung
    • Kapselungsprinzip
    • Objektidentität
    • Konstruktoren und Dekonstruktoren

Nachweise

  1. inztitut.de: Objektorientierte Programmierung. (28.11.2022)
  2. grimm-jaud.de: Objektorientierte Programmierung. (28.11.2022)
  3. ibm.com: Objekt-Oriented Programming. (28.11.2022)
  4. homepage.thm.de: Einführung in die Objektorientierte Programmierung. (28.11.2022)

Häufig gestellte Fragen zum Thema Objektorientierte Programmierung

In der imperativen oder funktionalen Programmierung ist das Entwerfen (und damit Modellieren) des eigentlichen Algorithmus (Problem) ein wichtiges Thema. Für das OO-Design gibt es eine Unified Modeling Language (UML). 

Diese Programmiermethode eignet sich gut für große, komplexe Programme, die aktualisiert oder aktiv gewartet werden. Dazu gehören:

  • Fertigungsprogramme
  • Build-Programme 
  • Mobile Apps

Die objektorientierte Programmierung (OOP) ist ein Paradigma der Computerprogrammierung, bei dem das Softwaredesign auf Daten oder Objekten und nicht auf Funktion und Logik basiert. 

Finales Objektorientierte Programmierung Quiz

Objektorientierte Programmierung Quiz - Teste dein Wissen

Frage

Was versteht man unter objektorientierter Programmierung?

Antwort anzeigen

Antwort

Die objektorientierte Programmierung (OOP) ist ein Paradigma der Computerprogrammierung, bei dem das Softwaredesign auf Daten oder Objekten und nicht auf Funktion und Logik basiert.

Frage anzeigen

Frage

Ergänze

Der erste Schritt in der objektorientierten Programmierung besteht darin, alle (1)             zu sammeln, mit denen ein Programmierer arbeiten möchte, und festzustellen, wie sie zueinander in Beziehung stehen. Dies ist eine Aufgabe namens (2)                  . 

Antwort anzeigen

Antwort

(1) Objekte

(2) Datenmodellierung

Frage anzeigen

Frage

Wahr oder Falsch

Eine Klasse ist ein benutzerdefinierter Datentyp, der als Blaupause für einzelne Objekte, Attribute und Methoden dient.

Antwort anzeigen

Antwort

Wahr

Frage anzeigen

Frage

Benenne die Strukturelemente der objektorientierte Programmierung.

Antwort anzeigen

Antwort

  • Objekt
  • Methode
  • Attribute
  • Klasse

Frage anzeigen

Frage

Was ist ein Objekt?

Antwort anzeigen

Antwort

Ein Objekt ist eine Instanz einer Klasse, die mit speziell definierten Daten erstellt wurde. Objekte können realen Objekten oder abstrakten Entitäten entsprechen.


Frage anzeigen

Frage

Wahr oder Falsch

Attribute werden in der Klassenvorlage definiert und repräsentieren den Zustand des Objekts. Objekte haben Daten, die in Attributfeldern gespeichert sind. Klassenattribute gehören zur Klasse selbst.


Antwort anzeigen

Antwort

Wahr

Frage anzeigen

Frage

Ergänze

Alle (1)             in einer Klassendefinition beginnen mit einer Referenz auf das (2)                   . In Objekten enthaltene Unterprogramme werden auch als Instanzmethoden bezeichnet. 

Antwort anzeigen

Antwort

(1) Methoden

(2) Instanzobjekt

Frage anzeigen

Frage

Was sind die Grundlagen der objektorientierten Programmierung?

Antwort anzeigen

Antwort

Die objektorientierte Programmierung ermöglicht eine natürliche Modellierung, steigert die Entwicklereffizienz durch Wiederverwendbarkeit von Programmelementen und reduziert die Anwendungskomplexität durch Abstraktion und Kapselung.

Frage anzeigen

Frage

Wahr oder Falsch

Klassen können Code aus anderen Klassen wiederverwenden. Beziehungen und Unterklassen zwischen Objekten können angegeben werden, sodass Entwickler gemeinsame Logik wiederverwenden und gleichzeitig eine klare Hierarchie beibehalten können.

Antwort anzeigen

Antwort

Wahr

Frage anzeigen

Frage

Ergänze

Ein Objekt ist eine (1)             einer Klasse, die zur Laufzeit verfügbar ist, wenn Speicherplatz verfügbar wird.  

Antwort anzeigen

Antwort

(1) Instanz

Frage anzeigen

Frage

Auf welchen Prinzipien basiert die objektorientierte Programmierung?

Antwort anzeigen

Antwort

Die objektorientierte Programmierung basiert auf folgenden Prinzipien:

  • Objekt-Klassen-Beziehung
  • Kapselungsprinzip
  • Objektidentität
  • Konstruktoren und Dekonstruktoren


Frage anzeigen

Frage

Wahr oder Falsch

Eine Klasse ist ein abstrakter Oberbegriff für Dinge (Objekte), die eine gemeinsame Struktur oder ein gemeinsames Verhalten haben.

Antwort anzeigen

Antwort

Wahr

Frage anzeigen

Frage

Ergänze

Ein Objekt kann unabhängig von den spezifischen (1)                seiner Attribute eindeutig von anderen Objekten unterschieden werden. 

Antwort anzeigen

Antwort

(1) Werten

Frage anzeigen

Frage

Was sind Konstruktoren und Dekonstruktoren?

Antwort anzeigen

Antwort

Die Erstellung und Zerstörung eines Objekts einer Klasse erfolgt mit speziellen Methoden, Konstruktoren oder Destruktoren. Sie stellen benötigten oder frei gewordenen Speicherplatz zur Verfügung.

Frage anzeigen

Frage

Wahr oder Falsch

Ruby gilt als die erste objektorientierte Programmiersprache, aber viele andere Programmiersprachen werden heute mit OOP verwendet. 

Antwort anzeigen

Antwort

Falsch

Frage anzeigen

Frage

Benenne die Vorteile der OOP!

Antwort anzeigen

Antwort

  • Wiederverwendbarkeit
  • Produktivität
  • Leichte Erweiterbarkeit und Skalierbarkeit
  • Schnittstellenbeschreibungen
  • Sicherheit
  • Flexibilität
  • Modularität 

Frage anzeigen

Frage

Wahr oder Falsch

Polymorphismus ermöglicht es einer einzelnen Funktion, der Klasse zu entsprechen, in der sie platziert ist. Außerdem können verschiedene Objekte dieselbe Schnittstelle passieren.

Antwort anzeigen

Antwort

Wahr

Frage anzeigen

Frage

Wahr oder Falsch

Kapselung und Abstraktion verbergen komplexen Code, erleichtern die Wartung von Software und schützen Internetprotokolle.

Antwort anzeigen

Antwort

Wahr

Frage anzeigen

Frage

Was ist eine Datenkapselung?

Antwort anzeigen

Antwort

Die Datenkapselung ist ein sehr wichtiges Grundprinzip im gesamten Softwareentwicklungsprozess. Die Encapsulation von Daten wird auch als „data hiding“ bezeichnet.

Frage anzeigen

Frage

Was ist Kapselung in der Informatik?

Antwort anzeigen

Antwort

Im Allgemeinen schließt Kapselung eine Sache in eine andere ein, so dass das, was enthalten ist, nicht sichtbar ist.

Frage anzeigen

Frage

Was ist Kapselung in der OOP?

Antwort anzeigen

Antwort

Das Konzept, bestimmte Attribute und Methoden privat zu machen und sie somit vor anderen Objekten zu verbergen, wird als Kapselung bezeichnet. 

Frage anzeigen

Frage

Benenne alle drei Ansichtsebenen.

Antwort anzeigen

Antwort

  • Öffentlich (public)
  • Gesichert (protected)
  • Privat (private)

Frage anzeigen

Frage

Richtig oder Falsch

Öffentlich (public): Die Funktionen aller Klassen erhalten über die View-Klasse öffentlichen Zugriff auf die Daten und Methoden einer vordefinierten Klasse. Dies ist die unterste Ebene des Datenschutzes.


Antwort anzeigen

Antwort

Richtig

Frage anzeigen

Frage

Richtig oder Falsch

Gesichert (protected): Der Datenzugriff ist auf die Funktionen der abgeleiteten Klassen nicht beschränkt, d. h. über die Elementfunktionen der Klasse und Unterklassen.


Antwort anzeigen

Antwort

Falsch

Frage anzeigen

Frage

Richtig oder Falsch

Privat (private): Der Datenzugriff ist auf die Methoden von Klassen selbst beschränkt. Es handelt sich um den niedrigsten Datenschutz.


Antwort anzeigen

Antwort

Falsch

Frage anzeigen

Frage

Richtig oder Falsch

Das Geheimhaltungsprinzip ist ein Programmierkonzept, das alle Daten so weit wie möglich vor unkontrolliertem Zugriff von außen schützt. Dies wird durch Encapsulation von Daten erreicht.

Antwort anzeigen

Antwort

Richtig

Frage anzeigen

Frage

Richtig oder Falsch

In einem UML-Klassendiagramm werden private Eigenschaften und Methoden durch ein Minuszeichen und öffentliche Eigenschaften durch ein Pluszeichen dargestellt.

Antwort anzeigen

Antwort

Richtig

Frage anzeigen

Frage

Ergänze

Der Hauptvorteil von OOP ist die (1)             . Auf Eigenschaften (Attribute) kann normalerweise nur über Zugriffsmethoden (get- oder set-Methoden) zugegriffen werden. 

Antwort anzeigen

Antwort

(1) Datenkapselung

Frage anzeigen

Frage

Ergänze

Kapselung bedeutet, dass die Eigenschaften und zugehörigen Operationen in einer einzigen Einheit gekapselt sind – (1)                   . 

Antwort anzeigen

Antwort

(1) der Klasse

Frage anzeigen

Frage

Ergänze

In (1)          ist jede Klasse für die Manipulation ihrer eigenen charakteristischen Werte verantwortlich.  

Antwort anzeigen

Antwort

(1) C#

Frage anzeigen

Frage

Ergänze

Im Allgemeinen besteht das Ziel des Objektdesigns darin, die Klasse so weit wie möglich zu (1)            .

Antwort anzeigen

Antwort

(1) kapseln

Frage anzeigen

Frage

Ergänze

Der Benutzer kann die Mitglieder eines als (1)                 deklarierten (2)               nicht ändern; das Risiko, dass Benutzer diese Angaben im Code ändern oder von diesen abhängig sind, wird minimiert.


Antwort anzeigen

Antwort

(1) privat

(2)Objekts

Frage anzeigen

Frage

Ergänze

Man möchte die Eigenschaften eines neuen Objekts direkt beim Erstellen festlegen. Dies ist mit dem sogenannten (1)                    möglich. 

Antwort anzeigen

Antwort

(1) Konstruktor

Frage anzeigen

Frage

Wie kann man Polymorphie auf deutsch übersetzen?

Antwort anzeigen

Antwort

Vielgestaltigkeit

Frage anzeigen

Frage

Wahr oder falsch

Das Konzept der Polymorphie besagt, dass sich ein Element je nach Kontext anders verhalten kann.

Antwort anzeigen

Antwort

Wahr

Frage anzeigen

Frage

Was versteht man unter der Überladung einer Methode?

Antwort anzeigen

Antwort

Wenn in einer Klasse mehrere Methoden mit gleichem Bezeichner und unterschiedlicher Parameterliste vorhanden sind

Frage anzeigen

Frage

Ergänze

Das Überladen einer Methode ist eine Form der ________ Polymorphie.

Antwort anzeigen

Antwort

statischen

Frage anzeigen

Frage

Wo findet sich bei der Vererbung eine dynamische Polymorphie?

Antwort anzeigen

Antwort

Wenn die Subklasse eine Methode ihrer Basisklasse überschreibt

Frage anzeigen

Frage

Ergänze

Die @Override Annotation wird in Java beim ________(1) einer Methode in der Subklasse verwendet und bewirkt, dass der _______(2) ggf. eine Warnung anzeigt.

Antwort anzeigen

Antwort

(1) Überschreiben

(2) Kompiler

Frage anzeigen

Frage

Wahr oder falsch

Wenn man in C++ eine pure virtual Methode in einer Klasse deklariert, kann man trotzdem Objekte dieser Klasse erstellen.

Antwort anzeigen

Antwort

Falsch

Frage anzeigen

Frage

Was bewirkt es in C++, wenn man eine Methode als virtual kennzeichnet und sie in einer Subklasse überschreibt?

Antwort anzeigen

Antwort

Dass das Objekt, welches die Methode verwendet, zur Laufzeit selbst ermittelt, welche Implementierung verwendet wird.

Frage anzeigen

Frage

Warum braucht die dynamische Bindung zwischen Methode und Implementierung zur Laufzeit mehr Ressourcen als eine statische Bindung?

Antwort anzeigen

Antwort

Weil zur Laufzeit zusätzlich ermittelt werden muss, welche Implementierung zu verwenden ist.

Frage anzeigen

Frage

Wobei ist die Polymorphie ein zentrales Konzept?

Antwort anzeigen

Antwort

Objektorientierte Programmierung 

Frage anzeigen

Frage

Wann kann eine Methode als polymorph bezeichnet werden?

Antwort anzeigen

Antwort

Wenn für ihren Bezeichner verschiedene Implementierungen existieren

Frage anzeigen

Frage

Wahr oder falsch

Polymorphie verleiht dem Entwickler mehr Freiheiten beim Design der Anwendung.

Antwort anzeigen

Antwort

Wahr

Frage anzeigen

Frage

Ergänze

Mit der Verwendung von Interfaces kann ________(1) zum Beispiel erreicht werden, indem das Interface eine Methode definiert, und eine oder mehrere ________(2) das Interface implementieren.

Antwort anzeigen

Antwort

(1) Polymorphie

(2) Klassen

Frage anzeigen

Frage

Mit welchem anderen zentralen Konzept der objektorientierten Programmierung wird die Polymorphie im Zusammenhang gesehen?

Antwort anzeigen

Antwort

Vererbung

Frage anzeigen

Frage

Was versteht man unter der statischen Polymorphie?

Antwort anzeigen

Antwort

Bereits zur Kompilierzeit des Programms ist bekannt, welche Implementierung eines polymorphen Elements verwendet wird.

Frage anzeigen

Frage

Was ist Kapselung in der Informatik?

Antwort anzeigen

Antwort

Kapselung, auch bekannt als Information Hiding, ist ein Prinzip der Informatik und Softwareentwicklung, bei dem Details der Implementierung von Daten und Methoden versteckt (oder "gekapselt") werden. Sie schützt den Zustand eines Objekts, sodass er lediglich durch die Methoden des Objekts selbst verändert werden kann und unerlaubten Modifikationen durch Drittanwendungen vorgebeugt wird.

Frage anzeigen

Frage

Warum ist Kapselung in der objektorientierten Programmierung (OOP) wichtig?

Antwort anzeigen

Antwort

In der OOP ist Kapselung von großer Bedeutung, da sie dabei hilft, den Code in kleinere, unabhängige Einheiten - Klassen und Objekte - unterteilen. Sie ermöglicht es, komplexe Systeme besser zu entwerfen und zu strukturieren, belebt den Code besser lesbar und wartbar und reduziert die Wahrscheinlichkeit von Fehlern.

Frage anzeigen

Teste dein Wissen mit Multiple-Choice-Karteikarten

Wahr oder FalschEine Klasse ist ein benutzerdefinierter Datentyp, der als Blaupause für einzelne Objekte, Attribute und Methoden dient.

Wahr oder FalschAttribute werden in der Klassenvorlage definiert und repräsentieren den Zustand des Objekts. Objekte haben Daten, die in Attributfeldern gespeichert sind. Klassenattribute gehören zur Klasse selbst.

Wahr oder FalschKlassen können Code aus anderen Klassen wiederverwenden. Beziehungen und Unterklassen zwischen Objekten können angegeben werden, sodass Entwickler gemeinsame Logik wiederverwenden und gleichzeitig eine klare Hierarchie beibehalten können.

Weiter

Karteikarten in Objektorientierte Programmierung132

Lerne jetzt

Was versteht man unter objektorientierter Programmierung?

Die objektorientierte Programmierung (OOP) ist ein Paradigma der Computerprogrammierung, bei dem das Softwaredesign auf Daten oder Objekten und nicht auf Funktion und Logik basiert.

Ergänze

Der erste Schritt in der objektorientierten Programmierung besteht darin, alle (1)             zu sammeln, mit denen ein Programmierer arbeiten möchte, und festzustellen, wie sie zueinander in Beziehung stehen. Dies ist eine Aufgabe namens (2)                  . 

(1) Objekte

(2) Datenmodellierung

Wahr oder Falsch

Eine Klasse ist ein benutzerdefinierter Datentyp, der als Blaupause für einzelne Objekte, Attribute und Methoden dient.

Wahr

Benenne die Strukturelemente der objektorientierte Programmierung.

  • Objekt
  • Methode
  • Attribute
  • Klasse

Was ist ein Objekt?

Ein Objekt ist eine Instanz einer Klasse, die mit speziell definierten Daten erstellt wurde. Objekte können realen Objekten oder abstrakten Entitäten entsprechen.


Wahr oder Falsch

Attribute werden in der Klassenvorlage definiert und repräsentieren den Zustand des Objekts. Objekte haben Daten, die in Attributfeldern gespeichert sind. Klassenattribute gehören zur Klasse selbst.


Wahr

Schließ dich über 22 Millionen Schülern und Studierenden an und lerne mit unserer StudySmarter App!

Die erste Lern-App, die wirklich alles bietet, was du brauchst, um deine Prüfungen an einem Ort zu meistern.

  • Karteikarten & Quizze
  • KI-Lernassistent
  • Lernplaner
  • Probeklausuren
  • Intelligente Notizen
Schließ dich über 22 Millionen Schülern und Studierenden an und lerne mit unserer StudySmarter App! Schließ dich über 22 Millionen Schülern und Studierenden an und lerne mit unserer StudySmarter App!

Finde passende Lernmaterialien für deine Fächer

Melde dich an für Notizen & Bearbeitung. 100% for free.

Fang an mit StudySmarter zu lernen, die einzige Lernapp, die du brauchst.

Jetzt kostenlos anmelden
Illustration