Skip to content

DE CSharp Inheritance Interfaces

Codex edited this page Oct 11, 2026 · 2 revisions

Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

Vererbung, Schnittstellen und Polymorphismus

Handbuch C# · Beispiele UO

Eine Klasse hat eine Basisklasse und kann mehrere Schnittstellen implementieren. virtual ermöglicht das Überschreiben, override implementiert es, abstract erfordert die Implementierung durch den Erben, sealed schränkt die Vererbung ein. base bezieht sich auf die zugrunde liegende Implementierung; new verbirgt das Mitglied und ersetzt nicht override.

Einfaches Beispiel (Example.cs)

Speichern Sie dieses Beispiel separat als Example.cs. Führen Sie es unabhängig von den anderen Beispielen dieser Seite aus.

Example.cs:

// PROJECT-EXAMPLE
ILabel item = new Item();
System.Console.WriteLine(item.Label);
interface ILabel { string Label { get; } }
class Item : ILabel { public string Label => "Ore"; }

Ergebnis:

Ore
interface IDescription
{
    string Describe();
}

abstract class Job : IDescription
{
    public abstract string Describe();
}

sealed class GatherJob : Job
{
    public override string Describe() => "Gathering job";
}

IDescription job = new GatherJob();
UO.Print(job.Describe());
class NamedJob
{
    public string Name { get; }
    public NamedJob(string name) => Name = name;
    public virtual string Report() => Name;
}

sealed class TimedJob : NamedJob
{
    public TimedJob(string name) : base(name) { }
    public override string Report() => base.Report() + " — timed";
}

UO.Print(new TimedJob("Search").Report());

Schnittstellen beschreiben einen Vertrag, keinen abgeschlossenen Spielbetrieb. Durch die explizite Implementierung der Schnittstelle können Sie Mitglieder mit demselben Namen trennen. Modern C# unterstützt Standardimplementierungen und statische abstrakte Mitglieder von Schnittstellen in geeigneten generischen Verträgen.

Offizielle Dokumentation: Vererbung, Schnittstellen und Polymorphismus – Microsoft Learn.

Clone this wiki locally