Имеем задание:
Задание 4. Создайте проект типа библиотеки классов по имени Vehicles и напишите в нем
код, реализующий семейство объектов типа Vehicle. Реализовать необходимо девять объектов и два интерфейса.
Итого имеем:
Класс 1 - Vehicle
Класс 2 - Vehicle.Car
Класс 3 - Vehicle.Train
Класс 4 - Vehicle.Car.CompactCar
Класс 5 - Vehicle.Car.SUV
Класс 6 - Vehicle.Car.Pickup
Класс 7 - Vehicle.Train.PassengerTrain
Класс 8 - Vehicle.Train.FreightTrain
Класс 9 - Vehicle.Train.DobeyBougie402
и
Интерфейс 1 - IPassengerCarrier
Интерфейс 2 - IHeavyLoadCarrier
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace MyTest
{
public class Vehicle
{
public class Car
{
}
public class Train
{
}
public interface IPassengerCarrier
{
}
public interface IHeavyLoadCarrier
{
}
public class CompactCar : Vehicle.Car, Vehicle.IPassengerCarrier
{
}
public class SUV : Vehicle.Car, Vehicle.IPassengerCarrier
{
}
public class Pickup : Vehicle.Car, Vehicle.IHeavyLoadCarrier
{
}
public class PassengerTrain : Vehicle.Train, Vehicle.IPassengerCarrier
{
}
public class FreightTrain : Vehicle.Train, Vehicle.IHeavyLoadCarrier
{
}
public class DobeyBougie402 : Vehicle.Train
{
}
}
}
Собственно тут без проблем:)
Задание 5. Создайте проект типа консольного приложения по имени Traffic, ссылающийся
на проект Vehicles. dll (из упражнения 4). Добавьте в него функцию по имени
AddPasenger, принимающую любой объект с интерфейсом IPassengerCarrier.
Для доказательства работоспособности кода вызывайте эту функцию с
использованием экземпляров всех объектов, которые поддерживают этот интерфейс,
вызывая для каждого из них унаследованный от System.Object метод ToString
и выводя результат на экран.
Задание 4. Создайте проект типа библиотеки классов по имени Vehicles и напишите в нем
код, реализующий семейство объектов типа Vehicle. Реализовать необходимо девять объектов и два интерфейса.
Итого имеем:
Класс 1 - Vehicle
Класс 2 - Vehicle.Car
Класс 3 - Vehicle.Train
Класс 4 - Vehicle.Car.CompactCar
Класс 5 - Vehicle.Car.SUV
Класс 6 - Vehicle.Car.Pickup
Класс 7 - Vehicle.Train.PassengerTrain
Класс 8 - Vehicle.Train.FreightTrain
Класс 9 - Vehicle.Train.DobeyBougie402
и
Интерфейс 1 - IPassengerCarrier
Интерфейс 2 - IHeavyLoadCarrier
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace MyTest
{
public class Vehicle
{
public class Car
{
}
public class Train
{
}
public interface IPassengerCarrier
{
}
public interface IHeavyLoadCarrier
{
}
public class CompactCar : Vehicle.Car, Vehicle.IPassengerCarrier
{
}
public class SUV : Vehicle.Car, Vehicle.IPassengerCarrier
{
}
public class Pickup : Vehicle.Car, Vehicle.IHeavyLoadCarrier
{
}
public class PassengerTrain : Vehicle.Train, Vehicle.IPassengerCarrier
{
}
public class FreightTrain : Vehicle.Train, Vehicle.IHeavyLoadCarrier
{
}
public class DobeyBougie402 : Vehicle.Train
{
}
}
}
Собственно тут без проблем:)
Задание 5. Создайте проект типа консольного приложения по имени Traffic, ссылающийся
на проект Vehicles. dll (из упражнения 4). Добавьте в него функцию по имени
AddPasenger, принимающую любой объект с интерфейсом IPassengerCarrier.
Для доказательства работоспособности кода вызывайте эту функцию с
использованием экземпляров всех объектов, которые поддерживают этот интерфейс,
вызывая для каждого из них унаследованный от System.Object метод ToString
и выводя результат на экран.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MyTest;
namespace ConsoleApplication1
{
class Program
{
static void AddPassenger(object Vehicle)
{
Console.WriteLine(Vehicle.ToString());
if (Vehicle is Vehicle.IPassengerCarrier)
{
Console.WriteLine("Может перевозить людей.");
}
else
{
Console.WriteLine("Не может перевозить людей.");
}
}
static void Main(string[] args)
{
MyTest.Vehicle.CompactCar MiniCooper = new Vehicle.CompactCar();
MyTest.Vehicle.SUV Volkswagen = new MyTest.Vehicle.SUV();
MyTest.Vehicle.Pickup Ford = new MyTest.Vehicle.Pickup();
MyTest.Vehicle.PassengerTrain Sapsan = new MyTest.Vehicle.PassengerTrain();
MyTest.Vehicle.FreightTrain VIL = new MyTest.Vehicle.FreightTrain();
MyTest.Vehicle.DobeyBougie402 SuperPoezd = new MyTest.Vehicle.DobeyBougie402();
Vehicle.Car[] MyVehicleCar = new Vehicle.Car[3] {MiniCooper,Volkswagen,Ford};
Vehicle.Train[] MyVehicleTrain = new Vehicle.Train[3] {Sapsan,VIL,SuperPoezd};
foreach (Vehicle.Car Car in MyVehicleCar)
{
AddPassenger(Car);
}
foreach (Vehicle.Train Train in MyVehicleTrain)
{
AddPassenger(Train);
}
Console.ReadKey();
}
}
}
Проще придумать не смог...
Комментариев нет:
Отправить комментарий