Создание объекта в соответствии с принципами полиморфизма - C#
Формулировка задачи:
ребят, помогите, пожалуйста, разобраться, что-то в мозгу у меня произошел сбой...
Изучая полиморфизм наткнулся на вот такое создание объекта(для минимизации листинга, своими словами):
смутило, что переменная типа БАЗОВЫЙ_КЛАСС, а присваивается экземпляр НАСЛЕДНИК()... . как это возможно, почему так делается, что при этом происходит, когда это нужно? Объясните мне, пожалуйста...
Я бы просто создал объект вот так:
БАЗОВЫЙ_КЛАСС myObj = new НАСЛЕДНИК();
НАСЛЕДНИК() myObj = new НАСЛЕДНИК();
Решение задачи: «Создание объекта в соответствии с принципами полиморфизма»
textual
Листинг программы
internal abstract class Pet { public virtual void EmitSound() { Console.WriteLine("Bla bla"); } } internal class Cat : Pet { public override void EmitSound() { Console.WriteLine("Meow meow. Give me more pity man!"); } } internal class Dog : Pet { public override void EmitSound() { Console.WriteLine("Woof woof. Thank u, master!"); } } internal class Program { private static void GiveFeed(Pet pet) { pet.EmitSound(); } private static void Main(string[] args) { Pet[] pets = {new Dog(), new Cat()}; foreach (var pet in pets) { GiveFeed(pet); } Console.ReadKey(true); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д