Wofür steht die Abkürzung OOP ?
Objekt-orientierte Programmierung / Object-oriented programming
Welche Idee steckt hinter der OOP und welche Ziele verfolgt die OOP ?
Idee : Abbildung von Objekten der realen Welt
Ziel
o Verkürzung der Entwicklungszeit
o Senkung der Fehlerrate
o verbesserte Erweiterbarkeit und Anpassungsfähigkeit
Ziel
o Verkürzung der Entwicklungszeit
o Senkung der Fehlerrate
o verbesserte Erweiterbarkeit und Anpassungsfähigkeit
Welches Konzept steckt hinter der OOP ?
o Zusammenfassung von Daten und Prozeduren zu Objekten
o Betrachtung von Objekten als Ganzes ("Black-Box")
o Botschaften werden an ein Objekt gesendet
o Objekt reagiert auf spezifische/arttypische Weise auf diese Botschaften
o Betrachtung von Objekten als Ganzes ("Black-Box")
o Botschaften werden an ein Objekt gesendet
o Objekt reagiert auf spezifische/arttypische Weise auf diese Botschaften
Welches sind die Haupteigenschaften der OOP ?
o Datenkapselung
o Vererbung
o Polymorphie
o Vererbung
o Polymorphie
Was bedeuted Datenkapselung?
o genau definierte Schnittstellen
o Verbergen der Implementierungsdetails
o Verbergen der Implementierungsdetails
Was bedeutet Vererbung?
o als Technologie zum Aufbau hierarchischer Klassen
o einfache Modifikation und Erweiterung von bereits vorhandenen
Komponenten
o einfache Modifikation und Erweiterung von bereits vorhandenen
Komponenten
Was bedeuted Polymorphie?
o gleiche Funktionalität für verschiedene Datentypen
o Datentypabhängige Semantik von Operatoren und Funktionen
o Datentypabhängige Semantik von Operatoren und Funktionen
Was ist eine Klasse ?
o Eine Klasse ist ein abstrakter Oberbegriff für Dinge (Objekte), die eine gemeinsame Struktur und/oder ein gemeinsames Verhalten haben.
Was ist ein Objekt ?
o Ein Objekt ist eine zur Laufzeit eines Programms vorhandenes
Exemplar einer Klasse, für das Speicherplatz zur Verfügung gestellt ist.
Exemplar einer Klasse, für das Speicherplatz zur Verfügung gestellt ist.
Was versteht man unter einer Referenzvariablen?
o Eine Referenzvariable ist eine Variable, die auf ein Objekt im Speicher verweist.
o Sie stellt nicht selbst das Objekt dar, sondern dient als Hilfsmittel, um mit dem Objekt umgehen zu können.
o Über eine Referenzvariable kann auf die Attribute des Objektes
zugegriffen bzw. dessen Methoden aufgerufen werden.
o Sie stellt nicht selbst das Objekt dar, sondern dient als Hilfsmittel, um mit dem Objekt umgehen zu können.
o Über eine Referenzvariable kann auf die Attribute des Objektes
zugegriffen bzw. dessen Methoden aufgerufen werden.
Was ist eine Botschaft?
o Eine Botschaft ist die Aufforderung an ein Objekt, etwas zu tun.
o Das Objekt reagiert auf diese Botschaft und sendet gegebenenfalls eine Antwort.
o Das Objekt reagiert nur auf Botschaften die es versteht.
o Das Objekt reagiert auf diese Botschaft und sendet gegebenenfalls eine Antwort.
o Das Objekt reagiert nur auf Botschaften die es versteht.
Was ist eine Methode ?
o Realisierung einer Botschaft in der objektorientierten
Programmierung.
o Implementierung des Verhaltens eines Objekts, wenn es eine Botschaft enthält.
o Durch Aufruf einer Methode an einem Objekt wird eine Botschaft
gesendet.
o Für jede Botschaft, auf die ein Objekt reagieren soll, gibt es eine
Methode.
Programmierung.
o Implementierung des Verhaltens eines Objekts, wenn es eine Botschaft enthält.
o Durch Aufruf einer Methode an einem Objekt wird eine Botschaft
gesendet.
o Für jede Botschaft, auf die ein Objekt reagieren soll, gibt es eine
Methode.
Was bedeutet Datenkapselung ?
o Prinzip, mit dem die Interna eines Objektes vor der Außenwelt
versteckt werden und nur das Nötigste zur Verfügung gestellt wird.
o Es werden die Attribute eines Objektes nach außen hin versteckt
und ihr Zugriff über Methoden ermöglicht, die die Zulässigkeit des
Zugriffs überprüfen können.
versteckt werden und nur das Nötigste zur Verfügung gestellt wird.
o Es werden die Attribute eines Objektes nach außen hin versteckt
und ihr Zugriff über Methoden ermöglicht, die die Zulässigkeit des
Zugriffs überprüfen können.
Was sind die Vorteile der Datenkapselung ?
o Anwender kann lediglich auf die von außen erreichbaren Elemente zugreifen.
o Anwender muss sich nur mit den von außen erreichbaren Elemente auseinandersetzen.
--> Anwender muss die eigentliche Implementierung einer Klasse
nicht kennen.
o Anwender muss sich nur mit den von außen erreichbaren Elemente auseinandersetzen.
--> Anwender muss die eigentliche Implementierung einer Klasse
nicht kennen.
Was bedeutet Vererbung ?
o Erweitern eines vorhandener Objekttyp zu einem neuen Objekttyp erweitert werden
o Zusätzliche Daten und zusätzliche Operationen werden hinzugefügt
o Alle Daten und Operationen des alten Typs werden geerbt
o Geerbte Operationen dürfen auch überschrieben werden.
o Zusätzliche Daten und zusätzliche Operationen werden hinzugefügt
o Alle Daten und Operationen des alten Typs werden geerbt
o Geerbte Operationen dürfen auch überschrieben werden.
Wie wird eine Objektinstanz erzeugt?
o Erzeugung einer Objektinstanz erfolgt mittels dem new-Operator
• Speicher wird belegt, der das Objekt aufnimmt
• new ruft stets einen Konstruktor auf
• Speicher wird belegt, der das Objekt aufnimmt
• new ruft stets einen Konstruktor auf
Wozu dient ein Konstruktor ?
o Ein Konstruktor ist für die Initalisierung eines Objektes zuständig.
Worin unterscheidet sich ein Konstruktor von Methoden (Aufbau)?
o Besitzt den gleichen Namen wie die Klasse
o Besitzt keinen Rückgabewert
o Besitzt keinen Rückgabewert
Besitzt jede Klasse einen Konstruktor ?
o Ja. Wenn keiner definiert wurde, wird der Default-Konstruktor verwendet.
Darf ein Konstruktor einen anderen aufrufen?
o Ja, aber dieser Aufruf muss der erste sein.
Wozu dient der this-Operator ?
o zeigt immer auf die Instanz der Klasse, in der er aufgerufen wird
o Erlaubt Zugriff innerhalb einer Methode oder eines Konstruktors auf Variablennamen der Klassendefinition, welche durch Variablennamen innerhalb der Methoden- oder Konstruktordefinition verdeckt sind.
o Aufruf von Konstruktoren innerhalb der eigenen Klasse
o Erlaubt Zugriff innerhalb einer Methode oder eines Konstruktors auf Variablennamen der Klassendefinition, welche durch Variablennamen innerhalb der Methoden- oder Konstruktordefinition verdeckt sind.
o Aufruf von Konstruktoren innerhalb der eigenen Klasse
Wozu dient das Schlüsselwort extends ?
o Gibt an, dass Klasse von einer Superklasse erbt
Wozu dient das Schlüsselwort super ?
o Mittels super kann auf die ‚originale‘ Methode der Oberklasse
zugegriffen werden
o (Wird hauptsächlich in Verbindung mit Overriding angewandt.)
zugegriffen werden
o (Wird hauptsächlich in Verbindung mit Overriding angewandt.)
Wozu dient das Überschreiben?
o Eine Unterklasse verändert das Verhalten einer geerbten Methode.
Wie sind die Regeln beim Überschreiben?
o Der Methodenname muss übereinstimmen.
o Die Parameterliste und der Rückgabetyp müssen übereinstimmen.
o Eine überschreibende Methode darf im Zugriff nicht eingeschränkter sein als die Ursprungsmethode.
o Eine überschreibende Methode darf keine anderen Ausnahmebedingungen veranlassen als die Originalmethode.
o Die Parameterliste und der Rückgabetyp müssen übereinstimmen.
o Eine überschreibende Methode darf im Zugriff nicht eingeschränkter sein als die Ursprungsmethode.
o Eine überschreibende Methode darf keine anderen Ausnahmebedingungen veranlassen als die Originalmethode.
Wozu dien das Überladen?
o Ermöglicht die Erstellung von verschiedenen Varianten einer Methode.
Wie sind die Regeln beim Überladen?
o Der Methodenname muss übereinstimmen.
o Der Rückgabetyp muss übereinstimmen.
o Die Anzahl und/oder Typen der Parameter der einzelnen Methoden müssen verschieden sein
o Der Rückgabetyp muss übereinstimmen.
o Die Anzahl und/oder Typen der Parameter der einzelnen Methoden müssen verschieden sein
Was ist ein Interface ?
o Interfaces sind reine Schnittstellen, die keinerlei Implementierung enthalten.
o In Interfaces werden Methoden nur mit Return-Typ, Name, Exceptions und Parameterliste definiert.
o In Interfaces werden Methoden nur mit Return-Typ, Name, Exceptions und Parameterliste definiert.
Können Interfaces von Interfaces erben?
o Ja, über das Schlüsselwort extends
o Im Gegensatz zu Klassen, können Interfaces von mehreren gleichzeitig erben
o Im Gegensatz zu Klassen, können Interfaces von mehreren gleichzeitig erben
Welches sind die Eigenschaften von abstrakten Klassen?
o Eine Abstrakte Klasse kann nicht instanziiert werden.
o Abstrakte Klasse dient immer als Oberklasse.
o Abstrakte Klassen können abstrakte Methoden enthalten, welche
von den beerbten Klassen implementiert werden müssen.
o Abstrakten Methoden wird immer das Schlüsselwort abstract
vorangestellt.
o Abstrakte Klasse dient immer als Oberklasse.
o Abstrakte Klassen können abstrakte Methoden enthalten, welche
von den beerbten Klassen implementiert werden müssen.
o Abstrakten Methoden wird immer das Schlüsselwort abstract
vorangestellt.
Wie wird eine abstrakte Klasse gekennzeichnet?
o Bei abstrakten Klassen wird dem Schlüsselwort class, das
Schlüsselwort abstract vorangestellt.
Schlüsselwort abstract vorangestellt.
Welche Zugriffsklassen für Methoden, Konstruktoren und Variablen gibt es?
o public, protected, default, private
Was ist ein Modifier und welche gibt es?
o Sie verändern die Eigenschaften des Gegenstands der Vereinbarung.
Es gibt:
o abstract, final (nicht kombinierbar)
Es gibt:
o abstract, final (nicht kombinierbar)
Welche Modifier gibt es für Methoden?
o final, static, native, synchronized, abstract
Was bedeuted die Zugriffsklasse protected bei Methoden und Variablen?
o Zugriff nur von den Klassen möglich, die entweder eine Subklasse sind der im gleichen package
definiert sind, wie die Klasse selbst
definiert sind, wie die Klasse selbst
Welche Bedeutung hat der Modifier final bei Klassen?
o Von Klassen, die mit final gekennzeichnet sind, können keine Subklassen abgeleitet werden. Dadurch sind auch alle Methoden einer Klasse, die als final gekennzeichnet ist, nicht überschreibbar also final.
Welche Bedeutung hat der Modifier abstract bei Methoden?
o deklariert Methoden, die überschrieben werden müssen. Abstrakte Methoden dürfen nur in Klassen deklariert werden, die ebenfalls als abstract gekennzeichnet sind.
o eine abstract-Deklaration besteht nur aus dem Methodenkopf.
o eine abstract-Deklaration besteht nur aus dem Methodenkopf.
Welche Bedeutung hat der Modifier transient für Variablen?
o signalisiert, dass eine Variable nicht zur Zustandsbeschreibung einer Instanz gehört
o Variablen werden beim Abspeichern des Zustandes eines Objekts (Serialization) nicht mit abgespeichert
o Variablen werden beim Abspeichern des Zustandes eines Objekts (Serialization) nicht mit abgespeichert
Welche ist die Basisklasse aller Exceptiones und Errors in Java?
o java.lang.Throwable
Was ist die Besonderheit von RuntimeExceptions?
o Dies sind Laufzeitfehler, die nicht unbedingt abgefangen werden
müssen.
o Diese Exceptions sind alle von der Klasse java.lang.RuntimeException abgeleitet.
müssen.
o Diese Exceptions sind alle von der Klasse java.lang.RuntimeException abgeleitet.
Wie können Exceptions abgefangen werden?
o Programmteil in dem Exceptions auftreten können, wird in einen try-Block geschrieben
o Die darin auftretende Exception wird mit einer catch-Anweisung, die an den try-Block anschliesst, abgefangen
o Die darin auftretende Exception wird mit einer catch-Anweisung, die an den try-Block anschliesst, abgefangen
Wie werden Exceptions weitergeleitet?
o throws-Klausel mit den entsprechenden Exceptions an den
Methode anhängen
Methode anhängen
Wie stellt man sicher, dass trotz auftretender Exception ein
Programmcode auf jeden Fall ausgeführt wird?
Programmcode auf jeden Fall ausgeführt wird?
o Programmcode in optionalen finally Block nach try Block setzen
Wie können Exceptions ausgelöst werden?
o Eine Exception wird mit dem Schlüsselwort throw ausgelöst
o Dem Aufruf von throw wird eine Instanz der auszulösenden
Exception mitgegeben
o Dem Aufruf von throw wird eine Instanz der auszulösenden
Exception mitgegeben
Definition (Rekursion), (direkte Rekursion), (indirekte Rekursion)
Definition (Rekursion):
Eine Methode heißt rekursiv, wenn sie während ihrer Abarbeitung erneut aufgerufen wird.
Definition (direkte Rekursion):
Eine Methode heißt direkt rekursiv, wenn der erneute Aufruf im Methodenrumpf der Methode erfolgt.
Definition (indirekte Rekursion):
Eine Methode heißt indirekt rekursiv, wenn der erneute Aufruf nicht im Methodenrumpf der Methode selbst sondern in einer anderen Methode erfolgt.
Eine Methode heißt rekursiv, wenn sie während ihrer Abarbeitung erneut aufgerufen wird.
Definition (direkte Rekursion):
Eine Methode heißt direkt rekursiv, wenn der erneute Aufruf im Methodenrumpf der Methode erfolgt.
Definition (indirekte Rekursion):
Eine Methode heißt indirekt rekursiv, wenn der erneute Aufruf nicht im Methodenrumpf der Methode selbst sondern in einer anderen Methode erfolgt.
In Java gibt es zwei Arten von Datentypen, wie heißen diese und worin unterscheiden sie sich?
Primitive Datentypen & Referenztypen
Primitive Datentypen:
Boolean (logisch), char (Zeichen)
Zahlen:
Ganze Zahlen (Byte, short, int, long)
Gleitkommazahlen (float, double)
Werden direkt Manipuliert / verändert.
Referenztypen:
Strings, Arrays, andere
Verweist auf eine Adresse im Speicher.
Primitive Datentypen:
Boolean (logisch), char (Zeichen)
Zahlen:
Ganze Zahlen (Byte, short, int, long)
Gleitkommazahlen (float, double)
Werden direkt Manipuliert / verändert.
Referenztypen:
Strings, Arrays, andere
Verweist auf eine Adresse im Speicher.
Kartensatzinfo:
Autor: @destructive_influen...
Oberthema: Programmierung
Thema: Programmierung
Schule / Uni: DHBW
Ort: Stuttgart
Veröffentlicht: 31.05.2015
Schlagwörter Karten:
Alle Karten (49)
keine Schlagwörter