Hallo Zusammen,
ich beschäftige mich seit einiger Zeit mit C# und arbeite dazu ein ca. 1000 seitiges Buch ab. Leider gibt mir das Buch auf bestimmte Fragen keine Antwort.
Es wird sehr viel erklärt, was ich machen und vorallem wie ich es mache und anhand von Beispielen erklärt. Das ist nicht schlecht.
Jedoch fehlt mir manchmal die Erklärung, warum das ein oder andere überhaupt brauche.
Z.B.
Structs und Classes.
Beide sind vom Code her identisch. Structs speichern die Verweise im Stack. Classes ihre im Heap. Schön dass das so ist. Welchen Vorteil hab ich davon, etwas im Heap oder im Stack zu speichern ?
Desweiteren kann ich mit einer Klasse genau dasselbe bzw. mehr als mit einem Struct realisieren. Wozu dann noch das Struct ?
Da komm ich schon zu dem nächsten Punkt. Klassen ableiten, Vererbung und Interfaces. In diesem zusammenhang gibt es dann die Möglichkeit, Methoden zu überschreiben, indem ich denselben Namen mehrmals verwende und mit den Schlüsselwörtern Virtual und override arbeite. Kann mir jemand ein Beispiel nennen wo das Sinn machen soll, den Namen einer Methode mehrfach zu verwenden ?
Interfaces hab ich in dem Zusammenhang überhaupt nicht verstanden. Laut Buch sollen Sie die Handhabung wohl vereinfachen. Allerdings, wenn ich versuche ein Interface zu verwenden hab ich im Visual Studio keine Auswahl an Methoden oder sonstigen. Deshalb verstehe ich nicht was so ein Interface mir bringt. Ich erzeuge doch normalerweise ein Object in dem ich den Konstruktor aufrufe und kann über dieses dann auf die öffentlichen Methoden zugreifen. Für mich sind das die Schnittstellen zu einer Klasse. Kann mir das jemand genauer erklären ?
Danke für Eure Antworten.
Gruß Magic
ich beschäftige mich seit einiger Zeit mit C# und arbeite dazu ein ca. 1000 seitiges Buch ab. Leider gibt mir das Buch auf bestimmte Fragen keine Antwort.
Es wird sehr viel erklärt, was ich machen und vorallem wie ich es mache und anhand von Beispielen erklärt. Das ist nicht schlecht.
Jedoch fehlt mir manchmal die Erklärung, warum das ein oder andere überhaupt brauche.
Z.B.
Structs und Classes.
Beide sind vom Code her identisch. Structs speichern die Verweise im Stack. Classes ihre im Heap. Schön dass das so ist. Welchen Vorteil hab ich davon, etwas im Heap oder im Stack zu speichern ?
Desweiteren kann ich mit einer Klasse genau dasselbe bzw. mehr als mit einem Struct realisieren. Wozu dann noch das Struct ?
Da komm ich schon zu dem nächsten Punkt. Klassen ableiten, Vererbung und Interfaces. In diesem zusammenhang gibt es dann die Möglichkeit, Methoden zu überschreiben, indem ich denselben Namen mehrmals verwende und mit den Schlüsselwörtern Virtual und override arbeite. Kann mir jemand ein Beispiel nennen wo das Sinn machen soll, den Namen einer Methode mehrfach zu verwenden ?
Interfaces hab ich in dem Zusammenhang überhaupt nicht verstanden. Laut Buch sollen Sie die Handhabung wohl vereinfachen. Allerdings, wenn ich versuche ein Interface zu verwenden hab ich im Visual Studio keine Auswahl an Methoden oder sonstigen. Deshalb verstehe ich nicht was so ein Interface mir bringt. Ich erzeuge doch normalerweise ein Object in dem ich den Konstruktor aufrufe und kann über dieses dann auf die öffentlichen Methoden zugreifen. Für mich sind das die Schnittstellen zu einer Klasse. Kann mir das jemand genauer erklären ?
Danke für Eure Antworten.
Gruß Magic