Autor Beitrag
domo93
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Do 07.05.15 18:53 
Ich bin ein absoluter C# Anfänger und brauche dringend Hilfe bei einer Übung.

ich habe vorher nur in C programmiert und jetzt haben wir in dem Semester mit C# angefangen, aber das überfordert mich gerade absolut und es geht alles viel zu schnell in der Vorlesung ich bin nur noch verwirrt. Bitte könnt ihr mir helfen bei meiner Übung ? Was mich nämlich am meisten verwirrt ist die ganze Konstellation, dass es jetzt Klassen Methoden Objekte Eigenschaften usw gibt. Soweit ich das verstanden hab sind die Methoden Funktionen mit den man etwas machen kann. Über den Konstruktor kann man eine Klasse aufrufen aber das ganze Zusammenspiel versteh ich noch nicht wirklich.

Im Anhang stelle ich mal die Übung wir sollen einen Bruchrechner programmieren und rechts ist ein Fenster mit der Klasse Bruch. Dazu habe ich mehrere Fragen:
1. Könnt ihr mir bitte zeigen wie man die Eigenschaften und Methoden programmiert? also ich meine dieses Grundgerüst wie das auszusehen hat.
2. Wieso gibt es bei Methoden einmal die Methode Bruch() und einmal die Methode Bruch (int z,int n) also mit zwei Parametern drin ?
3. Bei den Methoden steht ja : und dann z.b. string oder int oder Bruch. Das ist der Rückgabewert richtig ? int und string leuchten mir ein. Aber wie gibt man denn den typ Bruch zurück ? könnt ihr mir da bitte auch ein codebeispiel schreiben ?

Ich wäre euch sehr dankbar wenn ihr mir dazu das Grundgerüst schreiben könntet, ich komme nämlich absolut nicht weiter und bin etwas am verzweifeln. Den Code der da reinkommt das kann ich selber die mathematischen hintergründe und mit dem ggT und auch mit der forms anwendung zu verknüpfen das geht auch. Ich habe diese Übung nämlich auch schon mal gemacht aber nicht so wie es vorgegeben wurde. Deshalb brauche ich ja die Hilfe um zu sehen wie es richtig aussehen soll.
Bei Erklärungen bitte so unkompliziert wie möglich halten, wie gesagt bin noch blutiger C# Anfänger.
Im Anfang ist die Aufgabe wo die Klasse zu sehen ist wie sie sein soll. Und ich stell auch mal mein vorherigen Code rein damit ihr sehen könnt was ich da verzapft habe.
Einloggen, um Attachments anzusehen!
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4805
Erhaltene Danke: 1061

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Do 07.05.15 19:47 
Hallo und :welcome:

die Grundlagen der objektorientierten Programmierung solltest du am besten selber erarbeiten, z.B. mittels
Visual CSharp 2012
Guide to C#

In den entsprechenden Kapiteln zu den Klassen solltest du genug Beispiele für die Erzeugung von Methoden und Eigenschaften finden.

Nichtsdestotrotz gehe ich kurz auf deine anderen Fragen ein:
2. Dies sind verschiedene Konstruktoren (einmal ohne Parameter und einmal mit Parametern), d.h. bei der Erzeugung eines Objekts dieser Klasse wird entweder ein voreingestellter Bruch oder ein Bruch mit den vorgegebenen Werten für Zähler und Nenner erzeugt.
3. Statt int oder string schreibt man dann einfach den Namen der Klasse dort hin (hier also Bruch). Im PDF wird mit dem Doppelpunkt eine an UML angelehnte Form zur Darstellung einer Methode verwendet (in C# wird - wie du es von C auch schon kennst - der Rückgabewert vor den Methodennamen gestellt).

Dein bisher erstellter Code ist aber viel zu lang und zu kompliziert.
So wie ich das interpretiere, sollst du z.B. eine Methode
ausblenden C#-Quelltext
1:
public Bruch mul(Bruch bruch)					

erstellen, welches das aktuelle Bruch-Objekt mit dem übergebenen Bruch-Objekt bruch multipliziert und dieses Ergebnis dann als neues Bruch-Objekt zurückgibt. Also weder die Rückgabe als string noch 4 Methodenparameter!
Um innerhalb dieser Methode ein neues Bruch-Objekt zurückzugeben, mußt du mittels new eine neue Instanz erzeugen:
ausblenden C#-Quelltext
1:
return new Bruch(zaehler, nenner);					

(wobei zaehler und nenner dann die neu berechneten Werte sind)

Zur Ausgabe eines Bruches kannst du die ToString()-Methode überschreiben und diese dann in deiner Main-Methode (oder in der Form-Klasse) aufrufen:
ausblenden C#-Quelltext
1:
2:
3:
4:
public string override ToString()
{
  return Zaehler + "/" + Nenner;
}
domo93 Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Do 07.05.15 20:29 
Jup, weiß dass mein bisheriger Ansatz falsch war "...schon mal gemacht aber nicht so wie es vorgegeben wurde." xD Aber wie gesagt hatte es nicht gerafft und deswegen irgenwie versucht auf teufel komm raus das hinzukriegen. Naja okay ich versuch das dann mal, ich poste dann nachher mal den Code wenn ich die Eigenschaften Methoden Konstruktor und so habe, dann kannst du mir sagen ob es so richtig ist.