PDA

Vollständige Version anzeigen : C# und Klassenstruckturen


<XChris>
21.11.2002, 09:28
Hi, kann mir wer an nem einfach Beispiel den Sinn von interface, abstract, sealed usw. mal erklären?

Mir ist noch nicht richtig klar, wann es sich lohnt dies einzusetzen.

Chris

andreas_a
25.11.2002, 23:43
Hallo,

naja gleich mal Klassen zu erklären würde hier den Ramen sprängen, daher verweise ich dich auf die Standard Seite für C# Coder. Dort werden Klassen recht einfach erklärt natürlich nicht so ausführlich, für genauere Klassen angaben empfehle ich dir das Buch OOP Schritt für Schritt von MS Press.

Grüsschen Andreas

PS: die Seite ist <a href="http://www.guidetocsharp.de/home/index.php?http%3A//www.guidetocsharp.de/guide/guide11.php" target="_blank">http://www.guidetocsharp.de/home/index.php?http%3A//www.guidetocsharp.de/guide/guide11.php</a>

Gast
05.06.2004, 21:37
Stell dir vor du hast 2 Klassen:

public class Person
{
public string name;
public string vorname;

public Person(string n, string vn)
{
this.name = n;
this.vorname = vn;
}

}


public class Eigenschaften
{
public string gender;

public Eigenschaften(string g)
{
this.gender = g;
}
}


Jetzt willst du aus diesen beiden Klassen eine Unterklasse machen:

public class Kunde:Person:Eigenschaften

das geht nicht weil c# keine Mehrfachverbung erlaubt.

Also was kannst du tun ?

Du deklariest Eigenschaften als interface.

Du kannst immer nur von einer Klasse erben aber 1-n interfaces implentieren.

Das ist sicher nur ein Anwendungsbereich von Interfaces aber sie helfen dir über die Hürde der Einfachverbung hinweg.

GernotMelichar
06.06.2004, 22:02
Abstrakte (abstract) Klassen MÜSSEN vererbt werden.

Z.B.: System.Collection.Collectionbase

Statische (static) Klassen können verwendet werden ohne
sie zu instanzieren.

z.B. System.IO.Directory.GetDirectories();

versiegelte Klassen(sealed) können nicht vererbt werden.

Hab ich was vergessen?

Meli