Autor Beitrag
baphumet
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 44

Windows XP
Delphi 7
BeitragVerfasst: Mi 28.10.09 15:08 
Hi, ich soll eine Klasse Kreis erstellen, diese hat drei Attribute, den Radius und die
Koordinaten des Mittelpunkts, die Methode dient zum Berechnen des Flächeninhalts und mit show kann man sich das anzeigen lassen.
Ich finde das bisher auch gut, aber wie kann ich nun ein Objekt der Klasse Kreis erzeugen, bei der gleich der Radius und die Koordianten festgelegt werden.

Hier mein Code dazu
ausblenden volle Höhe C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
class Kreis
    {
        private double r;
        private double x;
        private double y;
        
        public void Kreis(double r,double x, double y) {
            this.r = r;
            this.x = x;
            this.y = y;
        }

        static public double Flaeche()
        {
            const double myPI = 3.14159;
            return r * r * myPI;

        }
        static public void show()
        {
            Console.WriteLine("Radius:     " + r);
            Console.WriteLine("Koordinaten:" + x+" "+y);
            Console.WriteLine("Fläche:     " + Flaeche());
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Kreis Kreis1= new Kreis(1,2,3);//Wie bekomm ich das hin
            Kreis Kreis2= new Kreis(1,2,3);
            Kreis1.show();
        }
    }
bakachan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 503
Erhaltene Danke: 34

W7 (x64) Ultimate
C# / VB.NET (VS2010 Ultimate)
BeitragVerfasst: Mi 28.10.09 15:15 
Um die Daten in das Objekt zu kriegen hast du verschiedene Möglichkeiten:
- Kontruktoren
- Funktion die die Daten setzt (Init)
-Properties
.
.
.

Absolute Grundlagen, da empfiehlt sich ein Buch/Tutorial über C#

Edit:
hab da was übersehen
Zitat:
Kreis Kreis1= new Kreis(1,2,3);//Wie bekomm ich das hin

also das was du suchst sind die Konstruktoren
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Mi 28.10.09 15:45 
Ergänzung zu Michaels Antwort: Wenn du es so schreibst, hast du bereits den benötigten Konstruktor mit Argumenten (void wegnehmen):
ausblenden C#-Quelltext
1:
public Kreis(double r,double x, double y) { ... }					

Ein Konstruktor ist eine spezielle Methode ohne Rückgabewert; genauer: sie gibt ein Objekt vom eigenen Typ zurück - in deinem Fall eben ein Objekt vom Typ Kreis, also einen bestimmten Kreis. Jürgen
baphumet Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 44

Windows XP
Delphi 7
BeitragVerfasst: Mi 28.10.09 16:00 
Danke für eure Hilfe, stimmt ja, void hat dort gar nichts zu suchen, ich bin wirklich Neuling in C#, kenn mich aber mit Java aus und steig da jetzt gerade um.
Ich weiß auch nicht wie ich auf void kam.
Dafür kommen jetzt bei der Compilierung die Fehlermeldung das ich Objektverweis benötige.

Für das nicht statische Feld, der Methode oder Eigenschaft Kreis.r ist ein Objektverweis erforderlich, was muß ich da jetzt genau machen, die Hilfe von VisualStudio hilft mir da nicht. Bei der Methode show genau das gleiche, nur weil ich x,y und r ausgeben lassen will.


EDIT:

Habs doch geschafft, musste bei den Methoden nur static entfernen, alles ok.