Это должен быть довольно прямой вопрос. Я только прошу простойлегко понять ответ. Нет, я не хочу определения учебника или ссылки на документацию, пожалуйста, если возможно, ответьте на это как можно проще.Создание объекта унаследованного класса в C#
Рассмотрим следующий пример:
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!");
}
}
Теперь представьте, я создаю новый объект Skeleton с типом монстра, как так.
Monster skeleton = new Skeleton();
Я хотел бы знать разницу между созданием объекта скелет с монстр типа против создания объекта Скелет с типом Скелет.
Skeleton skeleton = new Skeleton();
Я не понимаю, существует ли разница между двумя или действительно, как это работает. Любая помощь приветствуется! Спасибо!
Скелет * - монстр, но монстр * не должен быть * скелетом, думающим о случае, когда у вас есть группа монстров с ** многими типами, и все они атакуют на одном и том же время ** –
(Предполагалось, что Phun) надеется, что ур не думает о C#/oop как о монстрах (oop = monster, C# = skeleton): D –