Entwickler-Ecke
C# - Die Sprache - Problem mit Klassen
baphumet - Mi 28.10.09 15:08
Titel: Problem mit Klassen
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
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); Kreis Kreis2= new Kreis(1,2,3); Kreis1.show(); } } |
bakachan - 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 - 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):
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 - 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.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!