Базовый класс Airplane (самолет) со свойствами - C#
Формулировка задачи:
Описать базовый класс AIRPLANE (самолет) со свойствами:
• название пункта назначения рейса;
• дальность
• скорость
На его основе создать класс с именем AIRPLANE1 (пассажирский самолет), содержащий следующие поля:
• номер рейса;
• тип самолета;
• количество пассажиров.
Написать программу, выполняющую следующие действия:
• вывод на экран элементов типа AIRPLANE1, записи должны быть упорядочены по возрастанию номера рейса;
• реализовать поиск номеров рейсов и типов самолетов, вылетающих в пункт назначения, название которого совпало с названием, введенным с клавиатуры (если таких рейсов нет, вывести соответствующее сообщение).
В программе требуется описать базовый класс (возможно, абстрактный), в котором с помощью виртуальных или абстрактных методов и свойств задается интерфейс для производных классов.
На основе базового класса создать наследуемый класс с дополнительными свойствами и методами. Создать минимум 10 экземпляров классов, используя для хранения стандартные параметризованные коллекции.
Во всех классах реализовать интерфейс IComparable и перегрузить операции отношения для реализации значимой семантики сравнения объектов по какому-либо полю.
Реализовать функцию поиска по коллекции по какому-либо свойству. Реализовать Windows-приложение заполнения коллекции и поиска.
В классах описать следующие элементы:
• конструкторы с параметрами и конструкторы по умолчанию;
• свойства для установки и получения значений.
Решение задачи: «Базовый класс Airplane (самолет) со свойствами»
textual
Листинг программы
public class AIRPLANE : IComparable<AIRPLANE>
{
public string Destination { get; set; } // пункт назначения
public double Distance { get; set; } // расстояние
public double Speed { get; set; } // скорость
public AIRPLANE()
{
this.Distance = 1;
this.Speed = 100;
this.Destination = "Москва";
}
public AIRPLANE(string dest, double distance, double speed)
{
this.Distance = distance;
this.Destination = dest;
this.Speed = speed;
}
public int CompareTo(AIRPLANE obj) //todo: исключительно для примера
{
if (this.Distance > obj.Distance)
return 1;
if (this.Distance < obj.Distance)
return -1;
else
return 0;
}
}
public class AIRPLANE1 : AIRPLANE, IComparable<AIRPLANE1>
{
public string FlightNumber { get; set; } // номер рейса
public string Type { get; set; } // тип самолёта
public int PassengersCount { get; set; } // количество пассажиров
public int CompareTo(AIRPLANE1 other)
{
//todo: смотри пример реализации в базовом классе
return 0;
}
public AIRPLANE1()
{
this.FlightNumber = "Номер рейса";
this.PassengersCount = 50;
this.Type = "Чартер";
}
public AIRPLANE1(string dest, double distance, double speed, string number, string type, int pass)
: base(dest, distance, speed)
{
this.FlightNumber = number;
this.PassengersCount = pass;
this.Type = type;
}
}