Klausur Wintersemester 2015/2016, Fragen PDF

Title Klausur Wintersemester 2015/2016, Fragen
Course Konzepte des objektorientierten Programmierens
Institution FOM Hochschule
Pages 10
File Size 850.6 KB
File Type PDF
Total Downloads 52
Total Views 146

Summary

winter...


Description

Klausur vom 16.07.2016 Objektorientierte Programmiertechnik

Aufgabe 1

(8 Punkte)

Geschäftsprozesse lassen sich mit UML-Anwendungsfalldiagrammen sehr gut darstellen. Bitte vervollständigen Sie das nachstehende Anwendungsfalldiagramm mit den entsprechenden Anwendungsfällen, - bzw. -Verbindungen gemäß dem UML-Standard. Akteure sind „Kunde“ und „Lieferant“. Der Anwendungsfall „Produkt bestellen“ beinhaltet immer auch das „Produkt bezahlen“. Ein weiterer Anwendungsfall ist das „Produkt liefern“, welcher optional durch den Anwendungsfall „Produkt anschließen/installieren“ erweitert werden kann (wenn der Kunde diese Option gewählt hat). Onlineshop

Kunde

Lieferant

Prof. Dr. Oliver S. Lazar

Seite 1 von 10

Klausur vom 16.07.2016 Objektorientierte Programmiertechnik

Aufgabe 2

(15 Punkte)

UML-Klassendiagramm: a) Zeichnen Sie ein kleines Beispiel zweier Klassen mit jeweils einem privaten IntegerAttribut und ohne Methoden als Klassendiagramm gemäß dem UML-Standard. Zwischen diesen beiden Klassen soll eine gerichtete Assoziation existieren. Erläutern Sie das Konzept von gerichteten und ungerichteten Assoziationen. (8 Punkte) b) Modellieren Sie gemäß dem UML-Standard zwei Klassen und ein Interface Ihrer Wahl als Klassendiagramm. Dabei soll die eine Klasse von der anderen Klasse erben und zusätzlich noch vom Interface abgeleitet sein. Das Interface soll eine public Methode, die beiden Klassen jeweils einen public String Attribut Ihrer Wahl beinhalten. (7 Punkte)

Zeichnen und antworten Sie bitte auf Klausurpapier.

Aufgabe 3

(8 Punkte)

Nennen und erläutern Sie die drei Schichten der Drei-Schichten-Architektur! Erläutern Sie in ein bis zwei Sätzen die sich daraus ergebenden Vorteile!

Antworten Sie bitte auf Klausurpapier.

Aufgabe 4

(4 Punkte)

Erläutern Sie, was man unter einer Referenzvariablen versteht! Antworten Sie bitte auf Klausurpapier.

Prof. Dr. Oliver S. Lazar

Seite 2 von 10

Klausur vom 16.07.2016 Objektorientierte Programmiertechnik

Aufgabe 5

(8 Punkte)

Für die Erstellung von Dokumentationen haben wir uns im Rahmen der Vorlesung mit dem Java-Tool javadoc beschäftigt. Fügen Sie in der auf der nächsten Seite gegebenen Klasse GrundstuecksRechner die javadoc-Kommentare für die Klasse selbst, das Attribut und die Methode inkl. Rückgabewert und Übergabeparameter ein. Orientieren Sie sich dabei an der folgenden Javadoc-Ausgabe:

Prof. Dr. Oliver S. Lazar

Seite 3 von 10

Klausur vom 16.07.2016 Objektorientierte Programmiertechnik

          publicclassGrundstuecksRechner{         privatedoublepreis=410.50;                publicdoubleberechnePreis(intqm){     returnqm*preis;  }  }

Prof. Dr. Oliver S. Lazar

Seite 4 von 10

Klausur vom 16.07.2016 Objektorientierte Programmiertechnik

Aufgabe 6

(5 Punkte)

Gegeben sei folgende Klasse Song.

publicclassSong{   staticdoubleeuro=0.99;  privateStringinterpret;  privateStringtitel;    publicSong(Stringinterpret,Stringt){   this.interpret=interpret;   titel=t;  }   publicSong(){    this("Elvis","HeartbreakHotel");  } }

Lesen Sie die folgenden Aussagen und kreuzen Sie die richtige Antwort an (nur ein Kreuz): (a)

euro ist eine Klassenvariable, welche von überall aus zugreifbar ist, auch aus anderen Paketen.

(b)

interpret und titel sind Instanzvariablen.

(c)

Der Konstruktor ist überladen.

(d)

Auf titel und interpret kann nur innerhalb der eigenen Klasse zugegriffen werden.

(e)

Die Zeile titel = t; aus dem oberen Konstruktor ist fehlerhaft. Man muss zwingend ein this. vor titel angeben (wie bei interpret).

 nur die Aussagen a, b, c und d sind korrekt.  nur die Aussagen b und d sind korrekt.  nur die Aussagen b, c und d sind korrekt.  nur die Aussagen b, d und e sind korrekt.  Alle Aussagen sind korrekt.

Prof. Dr. Oliver S. Lazar

Seite 5 von 10

Klausur vom 16.07.2016 Objektorientierte Programmiertechnik

Aufgabe 7

(5 Punkte)

Erläutern Sie den Begriff „Konstruktor“! Wozu werden Konstruktoren verwendet? Was ist, wenn in einer Klasse kein Konstruktor implementiert ist? Antworten Sie bitte auf Klausurpapier.

Aufgabe 8

(22 Punkte)

a) Polymorphie und Vererbung sind Grundpfeiler der objektorientierten Programmierung. Erläutern Sie die beiden Begriffe und deren Zusammenhang! b) Implementieren Sie ein kleines Beispiel in Java oder als UML-Klassendiagramm, dass die beiden Konzepte verdeutlicht! c) Erläutern Sie, inwiefern man in der Softwareentwicklung und –wartung von diesen Konzepten profitieren kann! Verwenden Sie in Ihren Erläuterungen die Begriffe „polymorphe Methode“ und „Liskovsches Substitutionsprinzip“! Anmerkung: Für 22 Punkte erwarte ich eine ausführliche Beantwortung. Die Unterpunkte a, b und c werden nicht getrennt bewertet, da sie inhaltlich ineinander übergehen. Ich bewerte daher die Gesamtdarstellung.

Antworten Sie bitte auf Klausurpapier.

Prof. Dr. Oliver S. Lazar

Seite 6 von 10

Klausur vom 16.07.2016 Objektorientierte Programmiertechnik

Aufgabe 9

(8 Punkte)

Gegeben sei folgendes Interface:

publicinterfaceRegenSensor{  publicvoidesRegnet();   publicvoidesIstTrocken(); } -

Implementieren Sie eine Klasse Wetterstation, welche vom Interface RegenSensor abgeleitet werden soll.

-

Sorgen Sie in der Klasse Wetterstation dafür, dass bei Regen (also in der Methode esRegnet()) ein vorgefertigter Optionsdialog (JOptionPane) vom Typ WARNING mit folgender Meldung erscheint: „Bitte Regenschirm mitnehmen!“.

-

Wenn es trocken ist (also in der Methode esIstTrocken()), soll ein vorgefertigter Optionsdialog (JOptionPane) vom Typ INFORMATION mit folgender Meldung erscheinen: „Bitte Sonnencreme mitnehmen!“.

Antworten Sie bitte auf Klausurpapier.

Aufgabe 10

(4 Punkte)

Lesen Sie die folgenden Aussagen und kreuzen Sie die richtige Antwort an (nur ein Kreuz): (a) (b)

Objekt-Relationales Mapping (ORM) bezeichnet eine effiziente Datenstruktur zur Verwaltung von Key/Value-Paaren. Bei einem Upcast eines Objektes können Attribute endgültig gelöscht werden.

(c)

Mit Hilfe einer JNLP-Datei (Java Network Launching-Protocol) kann eine herkömmliche Java-Anwendung über den Browser gestartet werden.

(d)

Eine überladene Methode ist eine Methode, die zu viele lokale Variablen verwendet, was sich negativ auf die Laufzeit auswirken kann.

(e)

this ist eine Referenz auf das eigene/aktuelle Objekt.

 nur die Aussagen a, b, c und e sind korrekt.  nur die Aussagen b und d sind korrekt.  nur die Aussagen b, c und e sind korrekt.  nur die Aussagen c und e sind korrekt.  Alle Aussagen sind korrekt.

Prof. Dr. Oliver S. Lazar

Seite 7 von 10

Klausur vom 16.07.2016 Objektorientierte Programmiertechnik

Aufgabe 11 (4 Punkte) In der folgende Klasse BufferedWriterDemo wird eine Zeichenkette in die Textdatei buffer.txt geschrieben. Dabei kann es zu einer IOException kommen. Vervollständigen Sie den gegebenen Code mit Exception-Handling, so dass im Fehlerfall die Meldung „Fehler beim Schreiben der Datei!“ über die Systemausgabe ausgegeben wird.

publicclassBufferedWriterDemo{   publicstaticvoidmain(String[]args){      BufferedWriterf;   Strings;        f=newBufferedWriter(newFileWriter("buffer.txt"));        f.write("NachderKlausuristvorderKlausur!");  f.newLine();      f.close();                     } }

Prof. Dr. Oliver S. Lazar

Seite 8 von 10

Klausur vom 16.07.2016 Objektorientierte Programmiertechnik

Aufgabe 12 (4 Punkte) Wir haben im Rahmen der Vorlesung die Layout-Manager NullLayout, FlowLayout, GridLayout und BorderLayout kennengelernt. Bitte erläutern Sie zunächst ganz allgemein, was Layout-Manager für eine Aufgabe haben (2 Punkte). Beschreiben Sie danach die Eigenschaften des Layout-Managers GridLayout! (2 Punkte)

Antworten Sie bitte auf Klausurpapier.

Aufgabe 13

(25 Punkte)

Implementieren Sie eine grafische Bedienoberfläche gemäß den folgenden Abbildungen:

So soll das Hauptfenster aussehen

Das gleiche Fenster nur mit ausgeklapptem Menü und ausgeklappter JComboBox.

Wählen sie einen geeigneten Layout-Manager. Das Dateimenü enthält zwei Punkte: (1) Reset: Beim Klicken auf Reset sollte das Formular wieder zurückgesetzt werden (also das Textfeld für den Namen leeren, die Berechtigung wieder auf „bitte wählen“ setzen und den Haken beim Kunden entfernen). (2) Schließen: Beim Klicken auf Schließen sollte sich das Programm beenden (System.exit(0);) Beim Klicken auf den Button anzeigen, sollen die drei Informationen Name, Berechtigung und Kunde aus dem JFrame-Formular über System.out.println() ausgegeben werden.

Bitte auf nächster Seite weiterlesen.

Prof. Dr. Oliver S. Lazar

Seite 9 von 10

Klausur vom 16.07.2016 Objektorientierte Programmiertechnik

Gegeben ist folgendes Klassengerüst. Vervollständigen Sie die Bereiche für die Instanzvariablen als Aufgabe 13a, den Konstruktor als Aufgabe 13b und die Methode actionPerformed als Aufgabe 13c auf Klausurpapier! //importskönnenweggelassenwerden  publicclassGUIextendsJFrameimplementsActionListener{   //Instanzvariablen



//bitteaufKlausurpapierimplementieren //Aufgabe13a)

   //Konstruktor

publicGUI(){    //bitteaufKlausurpapierimplementieren   //Aufgabe13b)  }//KonstruktorEnde    publicvoidactionPerformed(ActionEvente){      //bitteaufKlausurpapierimplementieren   //Aufgabe13c) }  }

Prof. Dr. Oliver S. Lazar

Seite 10 von 10...


Similar Free PDFs