По наследованию - C#
Формулировка задачи:
Решил заняться паттернами проектирования и возник вопрос.
Допустим есть абстрактный класс
И есть несколько наследников:
И у меня возник вопрос, почему создают ссылку типа базового класса , а не наследника, т.е
Возникает вопрос почему так? Что бы было легче приведение классов?
public abstract class First { public void Word() { Console.WriteLine("Что, не важно что."); } }
public class Second: First
static void Main() { First someclass = new Second(); //вместо Second someclass = new Second(); }
Решение задачи: «По наследованию»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { public class First { public virtual void Work() { Console.WriteLine("First Class"); } } public class Second:First { public override void Work() { Console.WriteLine("Second Class"); } } public class Third : Second { public override void Work() { Console.WriteLine("Third Class"); } } class Program { static void Main(string[] args) { List<First> listObjects = new List<First>(); listObjects.Add(new First()); listObjects.Add(new Second()); listObjects.Add(new Third()); foreach (First element in listObjects) element.Work(); Console.ReadLine(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д