Реализовать перегрузку двумя способами - C#

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

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

Здравствуйте. Есть следующий код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication11
{
    //Класс самолет
    class Aeroplane
    {
        string pointName;//пункт назначения
        int number;      //номер рейса
        DateTime time;   //время вылета
        
        public Aeroplane(string Pointname, int Number, DateTime Time)
        {
            pointName = Pointname;
            if (Number < 100000 || Number > 999999)
                throw new Exception("Номер рейса должен быть шестизначным");
            number = Number;
            time = Time;
        }
        public int Number
        {
            get
            {
                return number;
            }
            set
            {
                number = value;
            }
        }
        public string PointName
        {
            get
            {
                return pointName;
            }
            set
            {
                pointName = value;
            }
        }
        public DateTime TimeToFly
        {
            get
            {
                return time;
            }
            set
            {
                time = value;
            }
        }
    }
 
    class Aeroport
    {
        List<Aeroplane> planes;
        public Aeroport() 
        {
            planes = new List<Aeroplane>() ;
        }
 
        public void AddAeroplane(Aeroplane plane)
        {
            planes.Add(plane);
        }
        public void AddAeroplaneRange(params Aeroplane[] Planes)
        {
            planes.AddRange(Planes);
        }
        public void GetInforation(int index)
        {
            if (index > planes.Count - 1)
                throw new Exception("Рейс не существует");
            Console.WriteLine("Номер рейса: " + planes[index].Number);
            Console.WriteLine("Пункт назначения: " + planes[index].PointName);
            Console.WriteLine("Время вылета: " + planes[index].TimeToFly);
        }
        public void ThisHour(DateTime time)
        {
            DateTime time1 = new DateTime(time.Year, time.Month, time.Day, time.Hour + 1,
                time.Minute, time.Second, DateTimeKind.Local);
            Console.WriteLine("В течение часа вылетят самолеты:");
            for (int i = 0; i < planes.Count; i++)
                if (planes[i].TimeToFly > time && planes[i].TimeToFly < time1)
                    GetInforation(i);
            Console.WriteLine("Список окончен");
        }
        public void TripFromPointName(string PointName)
        {
            Console.WriteLine("В " + PointName + " летят следующие самолеты: ");
            for (int i = 0; i < planes.Count; i++)
                if (planes[i].PointName == PointName)
                    GetInforation(i);
            Console.WriteLine("Список окончен");
        }
    }
 
    class Program
    {
        static void Main(string[] args)
        {
            Aeroport aeroport = new Aeroport();
            Aeroplane plane = new Aeroplane("Москва",  999999, new DateTime(2011, 5, 26, 20, 0, 0, 0));
            Aeroplane plane1 = new Aeroplane("Киев",   999998, new DateTime(2011, 5, 26, 20, 10, 0, 0));
            Aeroplane plane2 = new Aeroplane("Минск",  999997, new DateTime(2011, 5, 26, 20, 20, 0, 0));
            Aeroplane plane3 = new Aeroplane("Париж",  999996, new DateTime(2011, 5, 26, 22, 0, 0, 0));
            aeroport.AddAeroplaneRange(plane, plane1, plane2, plane3);
            aeroport.GetInforation(1);//информация о рейсе
            aeroport.ThisHour(new DateTime(2011, 5, 26, 20, 0, 0, 0));//в течение часа
            aeroport.TripFromPointName("Париж");//информация о рейсе в Париж
            Console.ReadKey(true);
        }
    }
}
Нужно реализовать перегрузку 2 способами:

1.

Используя открытые методы класса object

2.

Используя стандартный интерфейс IComparable

Решение задачи: «Реализовать перегрузку двумя способами»

textual
Листинг программы
    class Aeroplane : IComparable<Aeroplane>
    {
        public int CompareTo(Aeroplane other)
        {
            return Number.CompareTo(other.Number);
        }
 
        public override string ToString()
        {
            return string.Format("Number: {0}, PointName: {1}, TimeToFly: {2}", Number, PointName, TimeToFly);
        }
}

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


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

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

7   голосов , оценка 4.286 из 5
Похожие ответы