Hallo,
allgemein hilft das
C# OpenBook. Im Kapitel
10 findest du auch ein Kapitel über Interfaces/Schnittstellen.
Ich versuch es auch mal knapp zu formulieren:
Eine Schnittstelle gibt an, dass du eben eine/mehrere gewisse Methode(n) implementierst. Du kannst du Methoden auch so implementieren, aber dann wissen andere Klassen/ der Kompiler nicht, dass du genau diese Method implementiert hast. Sprich in dem du ein Interface implementierst zeigst du dass du gewisse Funktionen implementierst die ein gewisse Aufgaben ausführen.
Zum Beispiel willst du Daten speichern. Das Format ist dir dabei erstmal egal.
Du definierst die Daten in einer Klasse:
C#-Quelltext
1: 2: 3: 4: 5:
| class Person { public string Vorname { get; set; } public string Nachname { get; set; } } |
Jetzt machst du ein Interface, welches diese Klasse speichern soll:
C#-Quelltext
1: 2: 3: 4:
| interface IStorePerson { void StorePerson(Person p); } |
Und nun tust du konkrete Klasse implementieren die genau diese Aufgabe übernehmen (implementieren das Interface IStorePerson):
Xml
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| class XmlStore : IStorePerson { public XmlStore(string filename) { ... }
public void StorePerson(Person p) { } } |
CSV
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| class CvsStore : IStorePerson { public CvsStore(string filename) { ... }
public void StorePerson(Person p) { ... } } |
Und nun kannst bestimmten in welchem Format du die Person speichern willst:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| Person p = new Person(); p.Nachname = "Mueller"; p.Vorname = "Mathias";
IPersonStore store = new XmlStore("blub.xml"); store.StorePerson(p);
store = new CvsStore("blub.txt"); store.StorePerson(p); |
Ich hoffe das hilf dir, ansonsten kannst dir ja das OpenBook anschauen oder nochmal fragen.
Gruß Daniel