Создание объекта в соответствии с принципами полиморфизма - C#

Узнай цену своей работы

Формулировка задачи:

ребят, помогите, пожалуйста, разобраться, что-то в мозгу у меня произошел сбой... Изучая полиморфизм наткнулся на вот такое создание объекта(для минимизации листинга, своими словами):
Листинг программы
  1. БАЗОВЫЙ_КЛАСС myObj = new НАСЛЕДНИК();
смутило, что переменная типа БАЗОВЫЙ_КЛАСС, а присваивается экземпляр НАСЛЕДНИК()... . как это возможно, почему так делается, что при этом происходит, когда это нужно? Объясните мне, пожалуйста... Я бы просто создал объект вот так:
Листинг программы
  1. НАСЛЕДНИК() myObj = new НАСЛЕДНИК();

Решение задачи: «Создание объекта в соответствии с принципами полиморфизма»

textual
Листинг программы
  1. internal abstract class Pet
  2.     {
  3.         public virtual void EmitSound()
  4.         {
  5.             Console.WriteLine("Bla bla");
  6.         }
  7.     }
  8.  
  9.     internal class Cat : Pet
  10.     {
  11.         public override void EmitSound()
  12.         {
  13.             Console.WriteLine("Meow meow. Give me more pity man!");
  14.         }
  15.     }
  16.  
  17.     internal class Dog : Pet
  18.     {
  19.         public override void EmitSound()
  20.         {
  21.             Console.WriteLine("Woof woof. Thank u, master!");
  22.         }
  23.     }
  24. internal class Program
  25.     {
  26.  
  27.         private static void GiveFeed(Pet pet)
  28.         {
  29.             pet.EmitSound();
  30.         }
  31.  
  32.         private static void Main(string[] args)
  33.         {
  34.             Pet[] pets = {new Dog(), new Cat()};
  35.  
  36.             foreach (var pet in pets)
  37.             {
  38.                 GiveFeed(pet);
  39.             }
  40.              
  41.              
  42.              Console.ReadKey(true);
  43.         }
  44.     }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.231 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут