Dies sollte eine ziemlich direkte Frage sein. Ich frage nur nach einfacheinfach zu verstehen Antwort. Nein, ich möchte keine Textbuchdefinition oder einen Link zur Dokumentation, bitte, wenn möglich, so einfach wie möglich beantworten.Erstellen eines Objekts einer geerbten Klasse in C#
Beachten Sie Folgendes:
class Monster
{
public int Hp { get; protected set; }
public string Name { get; protected set; }
public virtual void Attack()
{
Console.WriteLine("Monster attacking!");
}
}
class Skeleton : Monster
{
public Skeleton()
{
Hp = 20;
Name = "Skeleton";
}
public override void Attack()
{
Console.WriteLine("Skeleton attacking!");
}
}
Jetzt stelle ich mir vor, wie so ein neues Skeleton-Objekt mit dem Typ Monster erstellen.
Monster skeleton = new Skeleton();
Ich möchte den Unterschied kennen ein Skeleton-Objekt mit einem Monster Typ gegen die Schaffung eines Skeleton-Objekt mit einem Skeleton Typ zwischen dem Erstellen.
Skeleton skeleton = new Skeleton();
Ich verstehe nicht, wenn es einen Unterschied zwischen den beiden gibt oder wirklich, wie das funktioniert. Irgendwelche Hilfe geschätzt! Vielen Dank!
Ein Skelett * ist ein * Monster, aber ein Monster * muss nicht * ein Skelett sein, denk an einen Fall, wenn du eine Gruppe von Monstern mit ** vielen Typen hast und alle gleichzeitig angreifen Zeit ** –
(Phun beabsichtigt) hoffe du denkst nicht an C#/oop als Monster (oop = Monster, C# = Skelett): D –