Die Methode macht’s (Teil 2)

Die Methode macht's

Mupples bringt Vorübungen und Buchauszüge von J. Anton Illik: “Erfolgreich programmieren mit Java – vom Einsteiger zum Könner“, wenn Sie für die HFU-Vorlesung und Übung hilfreich sind. Ziel dabei ist es auch, Ihre konstruktive Kritik in den Kommentaren abzuholen. Gerne können wir in der Vorlesung und Übung auch darüber diskutieren. In diesem Post geht es um Java-Methoden (Teil 2) als Java-Programm-Bausteine mit Parametern und Returnwert.

Neben den Kontrollstrukturen sind die Java-Methoden eine zentrale Einflußgröße beim Programmieren, haben wir im Beitrag vorher vernommen: Algorithmen, die öfter als einmal gebraucht werden, formuliert die Programmierer/in am Besten in Form einer Java-Methode als Programm-Baustein (Methoden-Definition), der immer, wenn er gebraucht wird aufgerufen werden kann (Methoden-Aufruf), anstatt diesen Programmbaustein erneut schreiben zu müssen.

Unser Einführungsbeispiel (die Java-Methode gruss() in der Klasse MethodenIntro, siehe youtube (http://bit.ly/2gUTI5j) war ‘s erste ein sehr simples Beispiel – aber immerhin, die Idee der Java-Methode lies sich demonstrieren: Verarbeitungsschritte in einer Methode zusammenfassen. Und wenn notwendig diese Zusammenfassung aufrufen, statt das zusammengefasste erneut zu schreiben.

Schade nur, es konnte stets nur die immer selben Verarbeitungsschritte abgerufen werden. In unserem Fall: stets der gleiche Gruß.

Wie können wir diesen Ansatz flexibler gestalten? Um wieviel mächiger könnte eine Methode sein, wenn es sich flexibel einrichten liesse, das unsere einfache Methode gruss() alternativ auf Wunsch einen italienischen oder französischen oder bayerischen Gruß ausgeben könnte.

Glück gehabt – genau so haben die Java-Sprachdesigner die Java-Methode gestaltet: mittels Parameter kann Einfluß die Verarbeitungsschritte in der Methode genommen werden. Wir schauen uns das mal an in der Klasse Methode_mit_1_Param (Im Felix zu finden im File “PROG1_Ueb_7_vor.pdf“):

import java.text.SimpleDateFormat;
import java.util.Date;


/**
 * @author J. Anton Illik
 *
 */
public class Methode_mit_1_Param {
     /**
     * @param args
     */
     public static void main(String[] args) {
	    gruss("italienisch");
	    // weiterer Java-Code ...
	    // wir zählen stattdessen nur bis 100
	    for(int i = 0; 
                i < 100; 
                System.out.printf("%3d", i++))
		{
                if (i % 20 == 0)System.out.println();
		}
	    System.out.println();
	    System.out.println();
	    gruss("bayerisch");
     } // end of main()

   static void gruss(String grussart) { 
	    if (grussart.equals("italienisch"))
	       {
	       System.out.print("Ciao!");
		
	       Date zeitstempel = new Date();
	       SimpleDateFormat simpleDateFormat = 
		     new SimpleDateFormat("dd.MM.yyyy");
		System.out.println(" Oggi è la data "                        
                + simpleDateFormat.format(zeitstempel));
		}
	     else if (grussart.equals("franzoesisch"))
		{
		System.out.print("Bonjour!");
			
		Date zeitstempel = new Date();
		SimpleDateFormat simpleDateFormat = 
	              new SimpleDateFormat("dd.MM.yyyy");
	        System.out.println(" Aujourd'hui est la date " 
                 + simpleDateFormat.format(zeitstempel));
	         }
	      else if (grussart.equals("bayrisch"))
	         {
		 System.out.print("Servus!");
		
		 Date zeitstempel = new Date();
		 SimpleDateFormat simpleDateFormat = 
		      new SimpleDateFormat("dd.MM.yyyy");
		 System.out.println(" Heit hamm'n " 
                 + simpleDateFormat.format(zeitstempel));
		 }
               else
                 System.out.println(grussart 
                           +"? Sorry, Sprache unbekannt.");
	} // end of gruss()
}

Beachtenswert sind im Beispiel oben die Aufrufe der Methode gruss() und die Definition der Methode gruss():

Die Aufrufstellen bekommen Parameter mit. Die vollständigen Aufrufe sehen so aus: gruss(“italienisch”) und gruss(“bayerisch”). Einen Aufruf gruss(“franzoesisch”) sehen wir zwar nicht, wäre aber auch möglich (probieren Sie’s!).

Den String als Parameter können wir beim Aufruf mitgeben, weil die Methode gruss() das per Definitionem zulässt. Die Mehtode gruss() ist wie folgt definiert:

static void gruss(String grussart) {…}

In den runden Klammern nach dem Methodennamen gruss wurde ein Parameter zugelassen, der vom Typ String sein muss. Durch den Namen dieses formalen Parameters, er heißt grussart, ist es uns möglich, im Methodenrumpf darauf bezug zu nehmen.

Schauen Sie sich die Methode gruss() an: in der Methode wird auf den formalen Parameter grussart Bezug genommen!

Betrachen Sie die Voruebung_7_2 aufyoutube Youtube und experimentieren Sie damit mit Eclipse!

Fragen können Sie in der Vorlesung los werden oder im neu eröffneten Mupples-Forum

Benutzer-Avatar

Autor: Prof. Illik Hans

Studium der Wirtschaftsinformatik an der TUM Technischen Universität in München. Berufliche Stationen: Hardwarehersteller in München - Softwarehäuser in München - eigene Firmen in München, Stuttgart und Birmingham/UK- mehrere Bücher zum Programmieren und eCommerce -Lehraufträge an verschiedenen Hochschulen in München, Stuttgart, Frankfurt - Professur an der HFU - Softwareentwickler (Ada/C/C++/C#/PHP/Python/Java) - Berater - Coach - Betriebsystemen (Unix-Portierungen) und Implementierung von eShops (Magento u.a.).

Ein Gedanke zu „Die Methode macht’s (Teil 2)“

Schreibe einen Kommentar

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.