/* * readonly double x; * // die Parameter auf CPunkt _, reduzieren oder Polymorphie nutzen oder Umwandeln, bzw. get nutzen... * * public double Abstand (double x, double y) * { * // Quatsch ... (-) * (-) = + ... -> keine Fallunterscheid. notw. * quadratabstand = ( x * x ) + ( y * y ); * * * abstand = Math.Sqrt(quadratabstand); * x = abstand; * return x; * // sollte was zurückgeben: return ; * * // Konstruktor Aufruf wandert in die Main ---> CPunkt Ursrpung = new CPunkt (0,0); * } */ public double Abstand(C_Punkt p) // { quadratabstand = (p.X * p.X) + (p.Y * p.Y); abstand = Math.Sqrt(quadratabstand); return(abstand); // Konstruktor Aufruf wandert in die Main ---> CPunkt Ursrpung = new CPunkt (0,0); }
// Parameterkonsruktor (CPunkt p) public C_Punkt(C_Punkt p) { this.X = X; // TODO! TRY: p.X Im Bezug auf die Übergabe aus der main für B... this.Y = Y; /* * // geschummelt! * C_Punkt b = new C_Punkt(10, 20); * //return; */ }
static void Main(string[] args) { // Konstruktoren werden Aufgerufen C_Punkt a = new C_Punkt(10, 20); C_Punkt b = a; //a statt "new C_Punkt(a);" C_Punkt c = new C_Punkt // das "();" wurde von IntelliSense gegen {}-Klammern um die X,Y Zuweisung ausgetauscht... { X = 30, //aufruf der Methode zum erzeugen der XPosition Y = 40 // YPosition }; // und hier der Aufruf des Konstruktors für die Abstandsbestimmung //C_Punkt Ursprung = new C_Punkt (0,0); Console.WriteLine("Punkt A<" + a.X + "|" + a.Y + ">"); Console.WriteLine("Punkt B<" + b.X + "|" + b.Y + ">"); Console.WriteLine("Punkt C<" + c.X + "|" + c.Y + ">"); Console.WriteLine("Abstand von Punkt b zu <0|0>: " + b.Abstand(b)); // Beim Debugging (schrittweise) wird deutlich, dass die Ausgabe (Auskommentiert s.u.) // auf der Console , die GETTER-Methode nutzt um auf die Werte zuzugreifen! // Console.WriteLine("Inhalt von c.X: {0}, c.Y {1}", c.X, c.Y ); }