LFK Objektorientierte Programmierung WS 2012 / 2013
Hallo,
anbei findet ihr die Lösung zur Lernfortschrittskontrolle: Objektorientierte Programmierung
Bestanden mit: 76%
Frage 1: In der objektorientierten Softwareentwicklung kommt die Unified Modeling Language (UML) zum Einsatz. Bei der Darstellung in Diagrammen werden Strukturdiagramme verwendet. Welche der folgenden gehören zu den Strukturdiagrammen?
* Komponentendiagramm
* Klassendiagramm
* Objektdiagramm
Frage 2: Die objektorientierte Programmiersprache C++ unterscheidet zwischen Zeigern und Referenzen. Welche Aussagen treffen zu?
* Referenzen verweisen fest auf dasselbe Objekt
* Zeiger können auf Null weisen
* Zeiger unterstützen Zeigerarithmetik, Referenzen nicht
Frage 3: Welche der folgenden Systeme können als Compiler für die objektorientierte Programmiersprache Java genutzt werden?
* javac (Teil des JDK)
* gcj (von der Free Software Foundation)
Frage 5: In objektorientierten Programmen werden für Klassen, Objekte, Attribute und Methoden Bezeichner verwendet. Welche Regeln gelten für diese Bezeichner?
* In vielen Sprachen wird bezüglich der Bezeichner zwischen Groß- und Kleinschreibung unterschieden
* In den meisten Sprachen müssen Bezeichner mit einem Buchstaben oder Unterstrich beginnen
Frage 6: In der objektorientierten Programmierung kommt der Dokumentation besondere Bedeutung zu. Die Dokumentation kann durch geeignete Hilfswerkzeuge unterstützt werden. Verbreitet sind Systeme, die auf Inline-Documentation beruhen, also auf Dokumentation, die nach bestimmten formalen Regeln in Kommentaren hinterlegt sind und sich am Quelltext orientieren. Welche Systeme gehören dazu?
* Dojo
* Doxygen
Frage 8: Warum verwendet man in objektorientierten Programmen symbolische Konstante?
* Veränderung und Anpassung der Konstantenwerte werden erheblich erleichtert
* Literale können dadurch sprechende Namen erhalten, was die Verständlichkeit des Programms erhöht
Frage 10: Objektorientierte Programmiersprachen verwenden Konstruktoren. Welche Aussagen treffen zu?
* Konstruktoren werden zur Instantiierung von Objekten verwendet
* Der Aufruf des Konstruktors erfolgt häufig über die Verwendung des Schlüsselwortes new beziehungsweise der Methode new()
Frage 11: Objektorientierte Programmiersprachen verwenden häufig Destruktoren bzw. Finalizer. Welche Aussagen treffen zu?
* Ein Objekt kann durch den Aufruf seines Destruktors entfernt werden
* Die Anwendung eines Destruktors bewirkt, dass die Ressourcen des Objektes wieder freigegeben werden
Frage 13: In der objektorientierten Programmierung versucht man, gut Lösungen durch Verwendung von Entwurfsmustern („design patterns“) zu erzielen. Welche Aussagen treffen zu?
* Das Konzept der Entwurfsmuster geht zurück auf die „Gang of Four“
* Bei dden Entwurfsmustern wird nach erzeugenden, strukturellen Verhaltens- und anderen Mustern unterschieden
* Für eine Reihe typischer Probleme der Softwareerstellung kann man Lösungen nach erprobten Schemata entwerfen
Frage 14: Ein Grundkonzept der objektorientierten Programmierung ist das „Attribut“. Welche Aussagen treffen zu?
* Attribute werden in Klassen festgelegt
* Attribute beschreiben die Eigenschaften von Objekten
* Attribute eines Objektes können durch Aufruf von Methoden dieses Objektes abgefragt oder manipuliert werden
Frage 15: Die objektorientierte Programmiersprache Java nutzt Standard-Klassenbibliotheken. Welche gehören dazu?
* AWT
* Swing
Frage 16: In der objektorientierten Programmierung stellen die sogenannten querschnittlichen Belange (crosscutting concerns) ein Problem dar. Welche Aussagen treffen zu?
* Querschnittliche Belange betreffen übergreifend mehrere Module und lassen sich daher nur schwierig einem einzigen Modul zuordnen
Die Berücksichtigung querschnittlicher Belange führt häufig zu redundanter Implementierung (scattering)
* Der Versuch, querschnittliche Belange in einem Modul zu implementieren, mündet leicht in schwer verständlichem (tangling) Code
Frage 17: Nennen Sie Eigenschaften, die ein Betriebssystem haben sollte, auf dem objektorientiert geschriebene Programme betrieben werden sollen!
* Es sollte Funktionen zur Ein- und Ausgabe besitzen
* Es sollte dynamische Speicherverwaltung erlauben
* Es sollte Threads unterstützen
Frage 18: Welche der folgenden Systeme können zur Erstellung von Quelltexten objektorientierter Programme verwendet werden?
* Vi
* Eclipse
* Notepad++
Frage 20: Was gilt bezüglich der Lexikalik einer objektorientierten Programmiersprache?
* Sie legt fest, auf welche Weise Wortgrenzen gebildet werden
* Sie definiert, welche Symbole und Wörter in der Sprache korrekt gebildet werden können
* Sie ist ein Bestandteil der Syntax der Sprache
Frage 21: Objektorientierte Programmiersprachen sind durch spezifische Eigenschaften gekennzeichnet. Welche gehören dazu?
* Attribute sind an Klassen beziehungsweise Objekte gebunden
* Die Ablaufsteuerung erfolgt über Sequenzen, Selektionen und Iterationen
* Methoden sind an Klassen beziehungsweise Objekte gebunden
* Sie stellen Objekte als Instanzen von Klassen zur Verfügung
Frage 22: In vielen objektorientierten Programmiersprachen werden logische Operatoren verwendet. Welche Aussagen treffen zu?
* Logische Operatoren liefern Werte aus einer zweielementigen Menge zurück
* Die relationalen Operatoren bilden eine Teilmenge der logischen Operatoren
Frage 23: Welche der folgenden Programmiersprachen weisen wesentliche Merkmale der Objektorientierung auf?
* Perl
* Python
Frage 25: Welche Aufgaben haben Quelltextformatierer (Beautifier wie z.B. jindent) bei der Anwendung auf objektorientierte Programme?
* Einheitliches Layout von Einrückung und Syntaxelementen einhalten
* Lesbarkeit verbessern
Frage 26: Welche Eigenschaften muss ein Rechner besitzen, der in objektorientierten Sprachen programmiert wird?
* Er verfügt über Peripheriekomponenten
* Er verfügt über Hauptspeicher, in dem Daten und Programme abgelegt werden
* Er verfügt über einen Prozessor
Frage 27: In welchen Situationen ist die Verwendung objektorientierter Programmierung nachteilig?
* Bei geringen verfügbaren Ressourcen
* Bei einfachen und kurzen Programmen
* Bei hardwarenahen Anwendungen
* Bei hohen Anforderungen an Performanz
Frage 28: Die objektorientierte Programmiersprache C++ unterstützt Zeigerarithmetik. Welche Aussagen treffen zu?
* Für Zwecke der Zeigerarithmetik bietet C++ Adress- und Dereferenzierungsoperatoren an
* Über Zeiger kann auf beliebige Speicherstellen zugegriffen werden
* Die Verwendung von Zeigern birgt Risiken wie z.B. Speicherzugriffsfehler
Frage 29: Die objektorientierte Programmiersprache C++ nutzt Standard-Klassenbibliotheken. Welche gehören dazu?
* Standard Template Library (STL)
* C-Standard-Library
Frage 30: In der objektorientierten Programmierung werden häufig Frameworks genutzt. Bei welchen der folgenden Systeme handelt es sich um derartige Frameworks?
* .NET
* Struts
Frage 31: Bei vielen objektorientierten Programmiersprachen wird zwischen „privaten“ und „öffentlichen(public)“ Methoden unterschieden. Welche Aussagen treffen zu?
* Private Methoden können oder sollen nur innerhalb der Implementation genutzt werden
* Öffentliche Methoden sind innerhalb des Programms allgemein zugänglich
Frage 33: Objektorientierte Programme werden häufig in verteilter Entwicklung realisiert. Dafür ist der Einsatz kooperativer Versionierungssysteme sinnvoll. Welches der folgenden Systeme ist für den genannten Zweck gut geeignet?
* Mercurial
Frage 35: Ein Grundkonzept der objektorientierten Programmierung ist die „Polymorphie“. Welche Aussagen treffen zu?
* Die Polymorphie erlaubt es, unterschiedliche Implementationen von Methoden zu realisieren
* Die Polymorphie erlaubt es, Methoden zu nutzen, die objektspezifisches Verhalten aufweisen
* Die Polymorphie erlaubt es, geerbte Methoden zu überladen
Frage 36: Welche der genannten Sprachen gehört zu den historisch bedeutsamen objektorientierten Programmiersprachen?
* Simula 67
* Smalltalk
Frage 37: Die meisten objektorientierten Sprachen kennen Schlüsselwörter. Was gilt in den meisten Sprachen bezüglich dieser Schlüsselwörter?
* Der Umfang der Schlüsselwörter ist definiert
Frage 38: Ein Grundkonzept der objektorientierten Programmierung ist die „Klasse“. Welche Aussagen treffen zu?
* Die Klasse beschreibt das abstrakte Verhalten von Objekten
* Die Klasse beschreibt abstrakte Eigenschaften von Objekten
* Eine Klasse dient der Kapselung von Objekteigenschaften
Frage 39: Methoden besitzen Signaturen. Welche Aussagen sind in diesem Zusammenhang zutreffend?
* Die Signatur einer Methode umfasst Reihenfolge und Typen ihrer Parameter
* Die Signatur einer Methode enthält deren Namen
Viel Spaß damit
Beste Grüße
Tom
anbei findet ihr die Lösung zur Lernfortschrittskontrolle: Objektorientierte Programmierung
Bestanden mit: 76%
Frage 1: In der objektorientierten Softwareentwicklung kommt die Unified Modeling Language (UML) zum Einsatz. Bei der Darstellung in Diagrammen werden Strukturdiagramme verwendet. Welche der folgenden gehören zu den Strukturdiagrammen?
* Komponentendiagramm
* Klassendiagramm
* Objektdiagramm
Frage 2: Die objektorientierte Programmiersprache C++ unterscheidet zwischen Zeigern und Referenzen. Welche Aussagen treffen zu?
* Referenzen verweisen fest auf dasselbe Objekt
* Zeiger können auf Null weisen
* Zeiger unterstützen Zeigerarithmetik, Referenzen nicht
Frage 3: Welche der folgenden Systeme können als Compiler für die objektorientierte Programmiersprache Java genutzt werden?
* javac (Teil des JDK)
* gcj (von der Free Software Foundation)
Frage 5: In objektorientierten Programmen werden für Klassen, Objekte, Attribute und Methoden Bezeichner verwendet. Welche Regeln gelten für diese Bezeichner?
* In vielen Sprachen wird bezüglich der Bezeichner zwischen Groß- und Kleinschreibung unterschieden
* In den meisten Sprachen müssen Bezeichner mit einem Buchstaben oder Unterstrich beginnen
Frage 6: In der objektorientierten Programmierung kommt der Dokumentation besondere Bedeutung zu. Die Dokumentation kann durch geeignete Hilfswerkzeuge unterstützt werden. Verbreitet sind Systeme, die auf Inline-Documentation beruhen, also auf Dokumentation, die nach bestimmten formalen Regeln in Kommentaren hinterlegt sind und sich am Quelltext orientieren. Welche Systeme gehören dazu?
* Dojo
* Doxygen
Frage 8: Warum verwendet man in objektorientierten Programmen symbolische Konstante?
* Veränderung und Anpassung der Konstantenwerte werden erheblich erleichtert
* Literale können dadurch sprechende Namen erhalten, was die Verständlichkeit des Programms erhöht
Frage 10: Objektorientierte Programmiersprachen verwenden Konstruktoren. Welche Aussagen treffen zu?
* Konstruktoren werden zur Instantiierung von Objekten verwendet
* Der Aufruf des Konstruktors erfolgt häufig über die Verwendung des Schlüsselwortes new beziehungsweise der Methode new()
Frage 11: Objektorientierte Programmiersprachen verwenden häufig Destruktoren bzw. Finalizer. Welche Aussagen treffen zu?
* Ein Objekt kann durch den Aufruf seines Destruktors entfernt werden
* Die Anwendung eines Destruktors bewirkt, dass die Ressourcen des Objektes wieder freigegeben werden
Frage 13: In der objektorientierten Programmierung versucht man, gut Lösungen durch Verwendung von Entwurfsmustern („design patterns“) zu erzielen. Welche Aussagen treffen zu?
* Das Konzept der Entwurfsmuster geht zurück auf die „Gang of Four“
* Bei dden Entwurfsmustern wird nach erzeugenden, strukturellen Verhaltens- und anderen Mustern unterschieden
* Für eine Reihe typischer Probleme der Softwareerstellung kann man Lösungen nach erprobten Schemata entwerfen
Frage 14: Ein Grundkonzept der objektorientierten Programmierung ist das „Attribut“. Welche Aussagen treffen zu?
* Attribute werden in Klassen festgelegt
* Attribute beschreiben die Eigenschaften von Objekten
* Attribute eines Objektes können durch Aufruf von Methoden dieses Objektes abgefragt oder manipuliert werden
Frage 15: Die objektorientierte Programmiersprache Java nutzt Standard-Klassenbibliotheken. Welche gehören dazu?
* AWT
* Swing
Frage 16: In der objektorientierten Programmierung stellen die sogenannten querschnittlichen Belange (crosscutting concerns) ein Problem dar. Welche Aussagen treffen zu?
* Querschnittliche Belange betreffen übergreifend mehrere Module und lassen sich daher nur schwierig einem einzigen Modul zuordnen
Die Berücksichtigung querschnittlicher Belange führt häufig zu redundanter Implementierung (scattering)
* Der Versuch, querschnittliche Belange in einem Modul zu implementieren, mündet leicht in schwer verständlichem (tangling) Code
Frage 17: Nennen Sie Eigenschaften, die ein Betriebssystem haben sollte, auf dem objektorientiert geschriebene Programme betrieben werden sollen!
* Es sollte Funktionen zur Ein- und Ausgabe besitzen
* Es sollte dynamische Speicherverwaltung erlauben
* Es sollte Threads unterstützen
Frage 18: Welche der folgenden Systeme können zur Erstellung von Quelltexten objektorientierter Programme verwendet werden?
* Vi
* Eclipse
* Notepad++
Frage 20: Was gilt bezüglich der Lexikalik einer objektorientierten Programmiersprache?
* Sie legt fest, auf welche Weise Wortgrenzen gebildet werden
* Sie definiert, welche Symbole und Wörter in der Sprache korrekt gebildet werden können
* Sie ist ein Bestandteil der Syntax der Sprache
Frage 21: Objektorientierte Programmiersprachen sind durch spezifische Eigenschaften gekennzeichnet. Welche gehören dazu?
* Attribute sind an Klassen beziehungsweise Objekte gebunden
* Die Ablaufsteuerung erfolgt über Sequenzen, Selektionen und Iterationen
* Methoden sind an Klassen beziehungsweise Objekte gebunden
* Sie stellen Objekte als Instanzen von Klassen zur Verfügung
Frage 22: In vielen objektorientierten Programmiersprachen werden logische Operatoren verwendet. Welche Aussagen treffen zu?
* Logische Operatoren liefern Werte aus einer zweielementigen Menge zurück
* Die relationalen Operatoren bilden eine Teilmenge der logischen Operatoren
Frage 23: Welche der folgenden Programmiersprachen weisen wesentliche Merkmale der Objektorientierung auf?
* Perl
* Python
Frage 25: Welche Aufgaben haben Quelltextformatierer (Beautifier wie z.B. jindent) bei der Anwendung auf objektorientierte Programme?
* Einheitliches Layout von Einrückung und Syntaxelementen einhalten
* Lesbarkeit verbessern
Frage 26: Welche Eigenschaften muss ein Rechner besitzen, der in objektorientierten Sprachen programmiert wird?
* Er verfügt über Peripheriekomponenten
* Er verfügt über Hauptspeicher, in dem Daten und Programme abgelegt werden
* Er verfügt über einen Prozessor
Frage 27: In welchen Situationen ist die Verwendung objektorientierter Programmierung nachteilig?
* Bei geringen verfügbaren Ressourcen
* Bei einfachen und kurzen Programmen
* Bei hardwarenahen Anwendungen
* Bei hohen Anforderungen an Performanz
Frage 28: Die objektorientierte Programmiersprache C++ unterstützt Zeigerarithmetik. Welche Aussagen treffen zu?
* Für Zwecke der Zeigerarithmetik bietet C++ Adress- und Dereferenzierungsoperatoren an
* Über Zeiger kann auf beliebige Speicherstellen zugegriffen werden
* Die Verwendung von Zeigern birgt Risiken wie z.B. Speicherzugriffsfehler
Frage 29: Die objektorientierte Programmiersprache C++ nutzt Standard-Klassenbibliotheken. Welche gehören dazu?
* Standard Template Library (STL)
* C-Standard-Library
Frage 30: In der objektorientierten Programmierung werden häufig Frameworks genutzt. Bei welchen der folgenden Systeme handelt es sich um derartige Frameworks?
* .NET
* Struts
Frage 31: Bei vielen objektorientierten Programmiersprachen wird zwischen „privaten“ und „öffentlichen(public)“ Methoden unterschieden. Welche Aussagen treffen zu?
* Private Methoden können oder sollen nur innerhalb der Implementation genutzt werden
* Öffentliche Methoden sind innerhalb des Programms allgemein zugänglich
Frage 33: Objektorientierte Programme werden häufig in verteilter Entwicklung realisiert. Dafür ist der Einsatz kooperativer Versionierungssysteme sinnvoll. Welches der folgenden Systeme ist für den genannten Zweck gut geeignet?
* Mercurial
Frage 35: Ein Grundkonzept der objektorientierten Programmierung ist die „Polymorphie“. Welche Aussagen treffen zu?
* Die Polymorphie erlaubt es, unterschiedliche Implementationen von Methoden zu realisieren
* Die Polymorphie erlaubt es, Methoden zu nutzen, die objektspezifisches Verhalten aufweisen
* Die Polymorphie erlaubt es, geerbte Methoden zu überladen
Frage 36: Welche der genannten Sprachen gehört zu den historisch bedeutsamen objektorientierten Programmiersprachen?
* Simula 67
* Smalltalk
Frage 37: Die meisten objektorientierten Sprachen kennen Schlüsselwörter. Was gilt in den meisten Sprachen bezüglich dieser Schlüsselwörter?
* Der Umfang der Schlüsselwörter ist definiert
Frage 38: Ein Grundkonzept der objektorientierten Programmierung ist die „Klasse“. Welche Aussagen treffen zu?
* Die Klasse beschreibt das abstrakte Verhalten von Objekten
* Die Klasse beschreibt abstrakte Eigenschaften von Objekten
* Eine Klasse dient der Kapselung von Objekteigenschaften
Frage 39: Methoden besitzen Signaturen. Welche Aussagen sind in diesem Zusammenhang zutreffend?
* Die Signatur einer Methode umfasst Reihenfolge und Typen ihrer Parameter
* Die Signatur einer Methode enthält deren Namen
Viel Spaß damit
Beste Grüße
Tom