Шукаєте відповіді та рішення тестів для SEW2a 1xHIT Methoden? Перегляньте нашу велику колекцію перевірених відповідей для SEW2a 1xHIT Methoden в elearning.tgm.ac.at.
Отримайте миттєвий доступ до точних відповідей та детальних пояснень для питань вашого курсу. Наша платформа, створена спільнотою, допомагає студентам досягати успіху!
showMessageDialog
Im obigen Beispiel erfolgt die Ausgabe noch über die Konsole. Die Klasse -Fenster. Sie heißt . Die einfachste Variante ist folgendermaßen aufgebaut:JOptionPane
besitzt aber auch Methoden für ein Ausgabe-DialogshowMessageDialog
Wer die -Methode vergleicht, wird feststellen, dass abgesehen vom Namen nur der Rückgabetyp anders ist. Dementsprechend laufen die Überlegungen zum Methodenaufruf ähnlich ab:showMessageDialog
-Methode mit der showInputDialog
Ü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:JOptionPane.showMessageDialog
Für jeden Formalparameter in der Methodendefinition muss ein Aktualparameter (= aktueller Wert) festgelegt werden:
Erster Parameter: dieser ist vom Objekttyp (erkennbar am großen Anfangsbuchstaben). Hier geben wir den Wert (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.Component
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
Überprüfen, ob eine Auffangvariable benötigt wird (Rückgabetyp ≠ In dieser Methode: benötigtvoid
) oder nicht (Rückgabetyp = void
):Welchen Rückgabetyp hat die Methode?void
, d.h. es wird keine Auffangvariable
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
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
Diese Methode benötigt
Methoden können grundsätzlich mehrere Parameter haben. So kann z.B. die Methode so umgeschrieben werden, dass man als 2. Parameter noch den größten Multiplikator angeben kann:malReihe
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:
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
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
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:
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
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
Eine Methode kann öfters mit verschiedenen aufgerufen werden.
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.
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.
Wenn wir nun in der Methode einen Parameter einführen, wollen wir eine "Hilfsmaschine" bauen, die einen Einlasstrichter für einen Konfigurationswert (den "Malwert") hat:malReihe
Dies wird erreicht, in dem die Variable zu einem Parameter, genauer gesagt einem , wird. Bei der Methodendefinition wird ein Formalparameter im Bereich der Parameterliste deklariert. Zur Erinnerung ist hier noch einmal die Struktur einer Methodenkopfzeile angegeben:malwert
Zugriffsmodifikatoren Rückgabetyp Methodenname
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 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 sichtbar oder verfügbar, sie bekommen nur (beim Aufruf). Ihre Sichtbarkeit und Gültigkeit ist sonst gleich wie bei lokalen Variablen.
Im Dokumentationskommentar werden Parameter nach der allgemeinen Beschreibung mit einem 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.
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
Die Parametervariablen selbst sind trotzdem nur
Die Parameter bei der Methodendefinition werden auch als bezeichnet.
Im Dokumentationskommentar zu der Methode werden Parameter mit Hilfe des
Nach dem Tag kommt der des Parameters gefolgt von der Beschreibung.
Die Tags
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.
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.
Jeder Block (auch der von Methoden) bildet einen eigenen .
Eine Methode kann den Inhalt einer anderen Methode
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
Wenn zwei Methoden Variablen mit dem selben Namen deklarieren, dann sind diese beiden Variablen
Die Dokumentationskommentare vor der Klassen- bzw. Methodenkopfzeile werden geschrieben, um mit Hilfe des javadoc-Tools eine 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.
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
Darauf folgt die Kurzbeschreibung aller .
In der Detailbeschreibung zu jeder Methode steht die sowie der vollständige Beschreibungstext.
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.
Füge den Code der vorherigen Klasse Super in BlueJ ein und rufe jede Methode einmal auf.
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 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.
Отримайте необмежений доступ до відповідей на екзаменаційні питання - встановіть розширення Crowdly зараз!