Расширить иерархию классов - C#
Формулировка задачи:
Такая проблема, задание В ЛР:
Построить иерархию классов в соответствии с вариантом задания:
11) Автомобиль, поезд, транспортное средство, экспресс
Это у меня получилось сделать, ну или преподаватель считает что получилось
Во втором задание, нужно переделать 1.
Условие:Расширить иерархию классов из Задания 1 с использованием виртуального класса в качестве
основы иерархии. Показать пример использования полиморфизма методов.
Порядок выполнения работы:
1) Изменить иерархию классов и реализовать ее на С#.
2) Показать на примере одного из методов, присутствующих в каждом классе, свойство
полиморфизма.
Если можно отправить на правильный путь действий. Если поможете с кодом, то лучше с комментариями. что бы смог разобраться. Спасибо
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace StructApp
{
class Automobile : Transport
{
public void Run()
{
Console.WriteLine("Mashina edet...");
}
}
class Poezd
{
public string otkuda;
public string kuda;
public void Run()
{
Console.WriteLine("Poezd edet v " + kuda);
}
}
class Transport
{
public string type;
public string name;
public void Run()
{
Console.WriteLine("transportnoe sredstvo " + name);
}
}
class Express : Poezd
{
public void Run()
{
Console.WriteLine("Express edet... v" + kuda);
}
}
class Program
{
static void Main(string[] args)
{
Automobile mashina = new Automobile();
mashina.Run();
Poezd poezd = new Poezd();
poezd.kuda = "Magadan tududu Magadan...";
poezd.Run();
Transport transport = new Transport();
transport.name = "Audi";
transport.Run();
Express express = new Express();
express.kuda = " Grodno";
express.Run();
Console.ReadKey();
}
}
}Решение задачи: «Расширить иерархию классов»
textual
Листинг программы
abstract class Transport
{
public string type;
public string name;
public abstract void Run();
}
class Automobile : Transport
{
public override void Run()
{
Console.WriteLine("Mashina edet...");
}
}
class Poezd : Transport
{
public string otkuda;
public string kuda;
public override void Run()
{
Console.WriteLine("Poezd edet v " + kuda);
}
}
class Express : Poezd
{
public override void Run()
{
Console.WriteLine("Express edet... v" + kuda);
}
}