-3

嗨,我想将两个对象合并在一起,以便我可以使用合并的对象做其他事情。它实际上是一个简单的机场程序,我有“路线”和“航班”,如果我想添加获取机票,我需要每个航班如果您知道我的意思,就在一条路线上。但请注意,我不想比较它们。如果有帮助,我每个人都有一个对象数组。

 IRoute R = new LocalRoute(port, destination, routenum);
 IFlight F = new LocalFlight(time, date,capacity);
4

3 回答 3

2

我会给Flight对象一个Route属性。这对我来说比创建一个类来保存 Flight 和 Route 更有意义,因为在现实世界中,一个航班应该知道它必须走哪条路线。

例如:

public class Route {
    public int Number { get; private set; }

    public string Port { get; private set; }

    public string Destination { get; private set; }

    public Route(int number, string port, string destination) {
        Number = number;
        Port = port;
        Destination = destination;
    }
}

public class Flight {
    public DateTime DepartureTime { get; private set; }

    public int Capacity { get; private set; }

    public Route Route { get; private set; }

    public Flight(DateTime departureTime, int capacity, Route route) {
        DepartureTime = departureTime;
        Capacity = capacity;
        Route = route;
    }
}

然后你可以有一个可能的路线列表和一个航班列表,每个都有一个路线的参考。

于 2013-08-22T07:02:30.600 回答
1

这会做你正在寻找的吗?

public class FlightDetails
{
    IRoute Route {get;set}
    IFlight Flight {get;set;}
}
于 2013-08-22T06:59:10.867 回答
0

要获得更清晰的图片,您可以执行以下操作

public class FlightDetails
{
IRoute Route {get;set}
IFlight Flight {get;set;}

public FlightDetails(IRoute r,IFlight f)
 {
   this.Route = r;this.Flight = f;
 }
}

IRoute R = new LocalRoute(port, destination, routenum);
IFlight F = new LocalFlight(time, date,capacity);

 FlightDetails Fd = new FlightDetails(R,F);
于 2013-08-22T07:04:56.657 回答