Methoden in C#

Eine Methode ist ein Codeblock, der eine oder mehrere Anweisungen enthält.

Alle Anweisungen innerhalb einer Methode werden ausgeführt. Methoden werden innerhalb einer Klasse oder einer Struktur deklariert, indem die Zugriffsebene, der Rückgabewert, der Name der Methode und die Methodenparameter angegeben werden.
Methodenparameter sind von runden Klammern umgeben und durch Kommas getrennt. Leere Klammern geben an, dass die Methode keine Parameter benötigt.

 

Die folgende Klasse enthält z.B. drei Methoden:

public class Auto
{
 public void StarteMotor()
 {
  motor = 1;
 }
 public void Tanken(int liter)
 {
  Tank = Tank + liter;
 }
 public int Gefahrene_km(int km_alt, int km_neu)
 {
  return km_neu - km_alt; 
 }
}

 

Die Methode StarteMotor erwartet keine Übergabeparameter. Wird sie aufgerufen, wird der Variablen motor der Wert 1 zugewiesen.

Die Methode Tanken erwartet einen Übergabeparameter vom Typ int welcher in der Methode verarbeitet und in der Variablen Tank gespeichert wird.

Die Methode Gefahrene_km erwartet zwei Übergabeparameter vom Typ int. Beide werden in der Methode verarbeitet und als return-Wert an die aufrufende Funktion zurückgegeben.

 

Aufrufen einer Methode in C# 

Das Aufrufen einer Methode für ein Objekt geschieht mit dem Punktoperator und ähnelt dem Zugriff auf ein Feld.

Die zu Übergebenden Argumente (Zahlen etc.) werden innerhalb der () Klammern aufgelistet und durch Kommas voneinander getrennt.

 

Die Methoden der Klasse Auto können daher wie folgt aufgerufen werden:

Auto fahren = new Auto();

fahren.StarteMotor();
fahren.Tanken(50);
fahren.Gefahrene_km(10500, 10800);

 

Hier als Beispiel ein vollständiges Programm.

class Program
{
 static void Main(string[] args)
 {
  Auto fahren = new Auto();

  fahren.StarteMotor();
  fahren.Tanken(50);

  Console.WriteLine("Sie sind {0}km gefahren", fahren.Gefahrene_km(10500, 10800));

  Console.ReadLine();
 }
}
public class Auto
{
 int Tank;

 public void StarteMotor()
 {
  Console.WriteLine("Motor ist EIN ");
 }
 public void Tanken(int liter)
 {
  Console.WriteLine("Tankinhalt = {0} Liter", Tank = Tank + liter);
 }
 public int Gefahrene_km(int km_alt, int km_neu)
 {
  return km_neu - km_alt;
 }
}

 

Klassendiagramm in C#

Das zugehörige Klassendiagramm sieht folgendermaßen aus:

Methoden Klassendiagramm

  

Methodenstub in C#

Eine andere Möglichkeit Methoden zu erzeugen ist einen Methodenstub zu generieren.

Gehen Sie dazu wie folgt vor:

  1. Die entsprechenden Objekte erzeugen
  2. Die jeweilige Methode aufrufen, ohne sie zuvor zu erstellen. Das macht in diesem Fall die IDE für uns.
    Es erscheint ein Hinweisfeld und bei klicken der rechten Maustaste werden Sie gefragt, ob Sie einen Methodenstub generieren möchten.
    Bestätigen Sie und es wird automatisch in der entsprechenden Klasse die Vorlage für die Methode erstellt.

 

Hierzu der Programmcode:

class Program
{
 static void Main(string[] args)
 {
 // 1.) Erzeugen der Objekte
 PKW Fahren = new PKW();
 LKW Hupen = new LKW();

 // 2.) Aufrufen der Methoden und Erzeugen der
 // Methodenstubs (rechte Maustaste)
 Fahren.MotorStarten();
 Hupen.Dreimal();
 Hupen.Viermal();
 }
}
public class PKW
{
 // Automatisch generierter Methodenstub
 internal void MotorStarten()
 {
  throw new NotImplementedException();
 }
}
public class LKW
{
 // Automatisch generierter Methodenstub
 internal void Dreimal()
 {
  throw new NotImplementedException();
 }
 // Automatisch generierter Methodenstub
 internal void Viermal()
 {
  throw new NotImplementedException();
 }
}

 

Das zugehörige Klassendiagramm sieht folgendermaßen aus:

Methodenstub Klassendiagramm