Commit e4174ec7 authored by Uwe Wienkop's avatar Uwe Wienkop

Mi, 9.1.2019

parent 12406003
......@@ -22,15 +22,51 @@ namespace _12Klausuraufgabe_Schiff
public Schiff(string Name, double Laenge)
: this(Name, Laenge, Antriebe.Segel)
{ }
public static double Mittel(Schiff[] sf)
public double Laenge
{
return 1.0;
get => laenge;
set
{
if (value > 0)
laenge = value;
else
throw new ArgumentOutOfRangeException();
}
}
public static double VRumpf(Schiff s)
=> 2.43 * Math.Sqrt(s.laenge);
// static-Variante mit expliziter Angabe des Objekts
public double VRumpf()
=> 2.43 * Math.Sqrt(this.laenge);
// nicht-static-Variante; Objekt wird in this implizit übergeben
public static double Mittel(Schiff[] sf, Antriebe antrieb)
{
double sum = 0.0;
int anz = 0;
foreach (Schiff s in sf)
{
if (s.antrieb == antrieb)
{
sum += s.laenge;
anz++;
}
}
return (anz == 0) ? 0.0 : sum / anz;
}
}
class Program
{
static void Main(string[] args)
{
Schiff[] schiffe =
{
new Schiff("Santa Maria", 25, Antriebe.Segel),
new Schiff("Nimitz", 325, Antriebe.Motor)
};
Schiff.Mittel(schiffe, Antriebe.Motor);
double x = Schiff.VRumpf(schiffe[0]); // Aufruf der static-Funktion
double y = schiffe[0].VRumpf(); // Aufruf der nicht-static Methode
}
}
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment