logo

Crowdly

SEW2a 1xHIT Methoden

Шукаєте відповіді та рішення тестів для SEW2a 1xHIT Methoden? Перегляньте нашу велику колекцію перевірених відповідей для SEW2a 1xHIT Methoden в elearning.tgm.ac.at.

Отримайте миттєвий доступ до точних відповідей та детальних пояснень для питань вашого курсу. Наша платформа, створена спільнотою, допомагає студентам досягати успіху!

Ausgabemethode showMessageDialog

Im obigen Beispiel erfolgt die Ausgabe noch über die Konsole. Die Klasse

JOptionPane besitzt aber auch Methoden für ein Ausgabe-Dialog

-Fenster.

Sie heißt

showMessageDialog

. Die einfachste Variante ist folgendermaßen

aufgebaut:

Methodenaufruf:

Wer die showMessageDialog-Methode mit der showInputDialog

-Methode

vergleicht, wird feststellen, dass abgesehen vom Namen nur der

Rückgabetyp anders ist. Dementsprechend laufen die Überlegungen zum

Methodenaufruf ähnlich ab:

  1. Überprüfen, ob es sich um eine Klassenmethode handelt:

    Ist das Schlüsselwort static in der Methodendokumentation

    vorhanden?

    Bei dieser Methode: Ja, d.h. es ist eine Klassenmethode, damit hat

    der Aufruf die Struktur:

    Klassenname.Methodenname oder konkret: JOptionPane.showMessageDialog

  2. Für jeden Formalparameter in der Methodendefinition muss ein

    Aktualparameter (= aktueller Wert) festgelegt werden:

    1. Erster Parameter: dieser ist vom Objekttyp Component

      (erkennbar am

      großen Anfangsbuchstaben). Hier geben wir den Wert

      null

      (ausgeschrieben, nicht

      die Ziffer 0), der bei Objekten als Ersatz für

      "nichts" verwendet wird, an. Das zeigt Java an, dass dieses Dialog-Fenster zu keiner größeren übergeordneten grafischen Oberfläche dazu gehört.

    2. Zweiter Parameter: Ebenfalls ein Objekttyp, der dafür steht, dass

      man irgendeine beliebige Nachricht als Objekt angegeben kann.

      Nachdem String ein Objektdatentyp ist, können auch Variablen

      oder Literale vom Typ String dafür verwendet werden, z.B:

      "Eingabe:" + eingabe

  3. Überprüfen, ob eine Auffangvariable benötigt wird (Rückgabetyp ≠

    void) oder nicht (Rückgabetyp = void):

    Welchen Rückgabetyp hat die Methode?

    In dieser Methode:

    void, d.h. es wird keine Auffangvariable

    benötigt

Ergänze folgende Zusammenfassung:

  • Die Methode für die grafikbasierten Ausgabedialoge ist in der Klasse definiert.

  • Der Name der Methode für die grafikbasierten Ausgabedialoge lautet .

  • Das Schlüsselwort in der API-Dokumentation dieser Methode zeigt an, dass es sich um eine

    handelt.

  • Klassenmethoden werden grundsätzlich mit . aufgerufen.

  • Diese Methode wird daher konkret mit . aufgerufen.

  • Für den ersten Parameter werden wir derzeit immer den Wert einsetzen, weil wir keine selbst programmierte grafische Oberfläche haben, mit der wir unseren Eingabedialog verbinden wollen.

  • Als zweiter Parameter wird

    angegeben.

  • Diese Methode benötigt

    Auffangvariable, weil der Rückgabetyp in der Methodendokumentation
    ist.

Переглянути це питання

Methoden mit mehreren Parametern

Methoden können grundsätzlich mehrere Parameter haben. So kann z.B. die

Methode

malReihe

so umgeschrieben werden, dass man als 2. Parameter noch

den größten Multiplikator angeben kann:

Bei der Methodendefinition müssen dafür folgende Punkte beachtet werden:

  • Die Parameter müssen durch Beistriche getrennt werden.

  • Jeder Formalparameter benötigt einen eigenen Datentyp

    , auch wenn die

    Datentypen alle gleich sind.

  • Jeder Parameter benötigt einen eindeutigen Namen (wie auch alle

    Variablen innerhalb der Methode einen eindeutigen Namen benötigen --

    Parameter gelten in diesem Zusammenhang als „innerhalb" der

    Methode).

  • Für jeden Parameter muss eine eigene @param-Zeile

    im

    Dokumentationskommentar geschrieben werden

Im Code sieht das dann so aus:

Analysiere folgende Aufgabenstellung und beantworte die Fragen:

Definiere in der Klasse Texte eine Methode namens mehrfach. Diese Methode soll als ersten Parameter eine ganze Zahl haben. Diese Zahl gibt an, wie oft der Text, der im zweiten Parameter angegeben werden soll, ausgegeben werden soll. Die Ausgaben sollen nebeneinander ohne Abstand erfolgen. D.h. wenn im ersten Parameter die Zahl 4 und als Text na übergeben wird, dann soll der Text nananana ausgegeben werden.

  • Welchen Namen hat die Klasse, in der die Methode geschrieben wird?

  • Welchen Namen hat die Methode?

  • Wieviele Parameter hat die Methode?

  • Welche/n Datentyp/en hat/haben die Parameter? Achte auf die Reihenfolge und trenne mehrere Datentypen durch einen Beistrich

  • Was für einen Rückgabetyp braucht die Methode?

Schreibe nun anhand der Informationen die Kopfzeile der Methode (ohne geschwungene Klammer) auf:

Kopiere oder merk dir die Kopfzeile für die nächste Frage

Переглянути це питання

Methoden mit Parameter aufrufen

Auch im Quellcode müssen beim Aufruf die Parameter berücksichtigt werden. Wenn nun die Methode malReihe (die nun einen Parameter hat) genauso, wie die Methode malReihe5 (die Version ohne Parameter) aufgerufen wird, dann lässt sich das Programm nicht kompilieren.

Methoden brauchen für jeden definierten Formalparameter einen

passenden

Wert

. Dieser Wert wird dann beim Aufruf im Formalparameter dieser Methode gespeichert (siehe Methodendefinition). Der Formalparameter ist immerhin eine neu deklarierte Variable, die noch einen Wert bekommen muss. Dadurch,

dass Methoden beim Aufruf immer einen aktuellen Wert für ihren Parameter

brauchen, nennt man die Parameter beim Aufruf auch

Aktualparameter.

Das bedeutet, dass wir nun der Methode "mitteilen" müssen, welche Mal-Reihe wir überhaupt haben wollen. Wir müssen die Methode entsprechend "konfigurieren". Dazu können wir z.B. direkt den Wert 5 verwenden, um genau die gleiche Mal-Reihe, wie bei der ursprünglichen Methode zu bekommen. Wir können uns das dann so vorstellen:

Der Aktualparameter kann entweder direkt ein Literal (ein Wert) sein

oder aber auch eine Variable, die ihren

Wert vor dem Methodenaufruf

bekommt

. Wichtig ist nur, dass zum Zeitpunkt des Methodenaufrufes der

Wert für den Parameter feststeht.

Im Java-Quellcode sieht der Aufruf dann so aus:

Ergänze die folgende Zusammenfassung:

  • Beim Aufruf der Methode muss jeder Variablen in der Formalparameterliste, ein passender gegeben werden.

  • Da dieser Wert für diesen Aufruf der aktuelle Wert ist, wird dieser als bezeichnet.

  • Wenn ein Formalparameter keinen Wert bekommt, z.B. weil die Klammern beim Aufruf leer gelassen werden, dann lässt sich das Programm nicht .

  • Ein Wert ist dann passend, wenn der

    dieses Werts mit dem
    des Formalparameters in der Definition übereinstimmt.

  • Anstelle eines Wertes (Literals) kann auch eine als Aktualparameter verwendet werden.

  • Diese Variable muss zum Zeitpunkt des Aufrufs bereits einen haben

  • Der Wert der Variablen wird dann beim Aufruf in die Variable des Formalparameters .

  • Auch hier muss der

    der Aktualparameter-Variablen mit dem
    des Formalparameters in der Definition übereinstimmen.

  • Eine Methode kann öfters mit verschiedenen aufgerufen werden.

Переглянути це питання

Methoden mit Parameter in BlueJ ausprobieren

Auch Methoden mit Parametern können direkt in BlueJ ausprobiert werden.

Allerdings ist eine zusätzliche Eingabe erforderlich. Die Methode muss

wissen, welchen Wert der Parameter haben soll. Dazu muss ein passendes

Literal angegeben werden, d.h. für einen int-Parameter eine ganze Zahl,

für einen double-Parameter eine Zahl mit Dezimalpunkt, für einen

String-Parameter eine Buchstabenkette unter Anführungszeichen, usw.

Ein Leerlassen des Feldes für den Aktualparameter ist nicht möglich! Die

Methode benötigt schließlich einen konkreten (d.h. aktuellen) Wert,

sonst kann sie ihre Arbeit nicht machen.

Löse die folgende Aufgabenstellung:

Füge den Code der vorherigen Methode soSuper in BlueJ ein und rufe diese Methode einmal auf. Vergiss nicht, diese Methode innerhalb einer Klasse zu schreiben. Du kannst auch die vorherige Methode soSuper aus der Klasse Super ersetzen.

Переглянути це питання

malReihe mit Parameter

Wenn wir nun in der Methode malReihe

einen Parameter einführen, wollen wir eine "Hilfsmaschine" bauen, die

einen Einlasstrichter für einen Konfigurationswert (den "Malwert") hat:

Dies wird erreicht, in dem die Variable malwert

zu einem Parameter,

genauer gesagt einem

Formalparameter

, wird. Bei der

Methodendefinition wird ein Formalparameter im Bereich der

Parameterliste

innerhalb des runden Klammernpaares

deklariert. Zur

Erinnerung ist hier noch einmal die Struktur einer Methodenkopfzeile

angegeben:

Zugriffsmodifikatoren Rückgabetyp Methodenname

( Formalparameterliste )

Der Parameter in der Methodenkopfzeile ist ein Formalparameter

, da

er wie bei einer Formel als Platzhalter eingesetzt wird. Jeder Datentyp

kann für einen Parameter verwendet werden. Der Datentyp muss nur zum

Verwendungszweck passen und die entsprechende Zusatzinformation beim

Aufruf speichern können. Der Parameter bekommt

in der Methode keinen

Wert

. Der Wert muss von außen beim Aufruf kommen. D.h. man kann nicht

davon ausgehen, dass der Parameter nur „richtige" Werte bekommt.

Derjenige, der die Methode verwendet könnte auch einen Fehler machen.

Parameter können dann in der Methode wie jede andere Variable verwendet

werden, so als ob sie schon einen Wert hätten. Sie

müssen

schlussendlich

beim Aufruf einen Wert bekommen (siehe folgenden Abschnitt). Wie jede

lokale Variable auch, hören sie am Ende der Methode auf zu existieren.

Parameter sind also

nicht „von außen"

sichtbar oder verfügbar,

sie bekommen nur

ihren Wert von außen

(beim Aufruf). Ihre

Sichtbarkeit und Gültigkeit ist sonst gleich wie bei lokalen Variablen.

Im Dokumentationskommentar

werden Parameter nach der allgemeinen

Beschreibung mit einem

@param-Tag angegeben. Danach muss der

Name des

Parameters

und eine Beschreibung für den Parameter dazugeschrieben

werden. Jeder Parameter bekommt dabei eine eigene @param-Zeile. @author und @version werden bei dem Dokumentationskommentar einer Methode nicht angegeben. Diese Tags gehören nur zum Dokumentationskommentar der Klasse.

Ergänze die folgende Zusammenfassung:

  • Bei der Methodendefinition werden Parameter in der der Methode angegeben.

  • Sie werden innerhalb der Klammern geschrieben.

  • Die Parameter sind Variablen, die in diesen runden Klammern (erzeugt) werden.

  • Ihren Wert bekommen diese Parameter

    der Methode.

  • Die Parametervariablen selbst sind trotzdem nur

    der Methode verfügbar. Sie werden (wie andere Variablen in der Methode) am Ende gelöscht.

  • Die Parameter bei der Methodendefinition werden auch als bezeichnet.

  • Im Dokumentationskommentar zu der Methode werden Parameter mit Hilfe des

    -Tag angegeben.

  • Nach dem Tag kommt der des Parameters gefolgt von der Beschreibung.

  • Die Tags

    und
    (in alphabetischer Reihenfolge angeben!) dürfen im Dokumentationskommentar zu einer Methode vorkommen.

Переглянути це питання

Klassenmethoden mit Parametern schreiben

Es ist wichtig Methoden nicht nur für einzelne spezielle Aufgaben zu schreiben, sondern "konfigurierbar" zu machen. Damit können Methoden flexibler gestaltet und öfter wieder verwendet werden. Dies kann mit Hilfe von Parametern (auch als Argumente bezeichnet) geschehen. Mit diesen kann man einer Methode zusätzliche Informationen mitgeben. Zum Beispiel wird Methode schreib im Hamster-Programm der Text, der angezeigt werden soll, mitgegeben.:

Ergänze die folgende Zusammenfassung:

  • Mit kann eine Methode flexibler gestaltet werden.

  • Ein anderer Name für Parameter ist auch .

  • Diese Zusatzinformationen beim Aufruf wird speziell parameter genannt.

Переглянути це питання

Gültigkeit von Variablen in Methoden

Ein häufiges Missverständnis entsteht, wenn man Variablen in den einzelnen Methoden betrachtet. Jede Methode hat einen eigenen Block und ist damit ein ganz eigener Gültigkeitsbereich. Man kann es sich vorstellen, als ob jede Methode eine in sich abgeschlossene Box ist, bei der nur der Methoden-Name sichtbar ist. So kann weder die main-Methode noch eine andere Methode in die Methode malReihe5 "hinein schauen". Die main-Methode und jede andere Methode, die die Methode malReihe5 verwendet, verlässt sich darauf, dass diese Methode ihre Arbeit erledigt – wie sie das macht ist den aufrufenden Methoden egal. Auch die Methode malReihe5 hat keinerlei Informationen darüber, was in der main-Methode oder den anderen aufrufenden Methoden passiert. Sie macht einfach ihren Job, wenn sie aufgerufen wird.

Dies ist insbesondere für Variablen wichtig. Variablen die innerhalb eines Blocks (das gilt auch für Schleifen oder andere Kontrollstrukturen) deklariert werden, sind auch nur innerhalb dieses Blocks gültig und damit verfügbar.

Wenn die zweite Methode (mR5MitTitel) selbst eine Variable mit dem Namen zaehler deklariert, dann wäre die zweite Variable auch komplett unabhängig von der zaehler-Variable aus der Methode malReihe5. Diese zweite zaehler-Variable hätte nur "zufällig" den gleichen Namen, wie die Variable aus der ersten Methode.

Ergänze die folgende Zusammenfassung:

  • Jeder Block (auch der von Methoden) bildet einen eigenen .

  • Eine Methode kann den Inhalt einer anderen Methode

    sehen.

  • Insbesondere Variablen sind nur innerhalb des Blocks, in dem sie deklariert wurden (= verfügbar bzw. verwendbar).

  • Mit dem Ende des Blocks werden die Variablen

  • Ein Block wird durch das Zeichen beendet.

  • Deshalb kann eine Methode die Variablen einer anderen Methode

    sehen. Damit kann die Methode die Variablen einer anderen Methode auch
    verwenden.

  • Wenn zwei Methoden Variablen mit dem selben Namen deklarieren, dann sind diese beiden Variablen

    .

Переглянути це питання

Dokumentationsansicht

Die Dokumentationskommentare

vor der Klassen- bzw. Methodenkopfzeile

werden geschrieben, um mit Hilfe des javadoc-Tools eine

HTML-Dokumentation

zu erzeugen. Eine Voransicht dieser HTML-Seite kann

auch mit Hilfe von BlueJ erzeugt werden. Dazu muss im Dropdown-Menü

rechts oben von der Quellcode-Ansicht auf die Dokumentationsansicht

umgeschaltet werden.

Dadurch ruft BlueJ eine interne Version des Programms javadoc

auf, das

aus den Dokumentationskommentaren eine HTML-Seite generiert. Diese ist

so formatiert, wie die offizielle Java-API-Dokumentation (diese wurde

mit dem selben Tool erstellt).

Nach den Angaben im Klassenkommentar wird die Kurzbeschreibung aller

Methoden aufgelistet.

Weiter unten folgt noch zu jeder Methode eine Detailbeschreibung, wo

auch die komplette Methodenkopfzeile sowie der vollständige

Beschreibungstext angegeben ist.

Ergänze die folgende Zusammenfassung:

  • Durch das Umschalten von Quellcode auf Dokumentationsansicht wird das Programm (Tool) ausgeführt.

  • Dieses Programm erzeugt aus den Dokumentationskommentaren eine -Seite

  • Die Formatierung ist die selbe, wie bei der offiziellen Java--Dokumentation

  • Nach dem Namen und der Kopfzeile der Klasse folgt die allgemeine Beschreibung. Anschließend stehen die Information aus dem

    -Tag gefolgt von der Information aus dem
    -Tag.

  • Darauf folgt die Kurzbeschreibung aller .

  • In der Detailbeschreibung zu jeder Methode steht die sowie der vollständige Beschreibungstext.

Переглянути це питання

Methode in BlueJ direkt ausprobieren

In BlueJ ist es möglich, Methoden auch direkt (ohne main-Methode) auszuprobieren. Dazu muss die Klasse in BlueJ erstellt und mit den Methoden kompiliert werden. Danach kann mit einem Rechtsklick die Methode einfach ausgewählt werden. Dies veranlasst BlueJ diese Methode auszuführen.

Löse die folgende Aufgabe:

Füge den Code der vorherigen Klasse Super in BlueJ ein und rufe jede Methode einmal auf.

Переглянути це питання

Methodenkörper

Die Kopfzeile einer Methodendefinition wird durch eine öffnende

geschwungene Klammer abgeschlossen und es beginnt der Methodenkörper.

Dieser kann beliebige Anweisungen enthalten, die das Innenleben der

"Hilfsmaschine" darstellen, z.B.:

  • Variablendeklarationen und -initialisierungen: diese

    lokalen

    Variablen

    sind nur innerhalb der Methode sichtbar

    und damit

    verfügbar. Andere Methoden können diese nicht sehen. Wenn in einer

    anderen Methode eine Variable mit dem gleichen Namen deklariert

    wird, dann gibt es eben 2 unterschiedliche Variablen, die eben in

    diesem Fall den gleichen Namen haben.

  • Ausdrücke mit Rechnungen etc.

  • Programmstrukturen wie Schleifen und Verzweigungen

  • Aufrufe von (anderen) Methoden

  • ...

Ergänze die folgende Zusammenfassung:

  • eine Variable wird innerhalb des Methodenkörpers deklariert und initialisiert.

  • lokale Variablen sind nur in der Methode , in der sie erstellt wurden.

  • Grundsätzlich kann ein Methodenkörper folgende Elemente enthalten (kreuze nur jene Elemente an, die tatsächlich im Methodenkörper vorkommen können.

Переглянути це питання

Хочете миттєвий доступ до всіх перевірених відповідей на elearning.tgm.ac.at?

Отримайте необмежений доступ до відповідей на екзаменаційні питання - встановіть розширення Crowdly зараз!