嗨我想合併兩個對象在一起,這樣我就可以使用合併的對象做別的事情。它實際上是一個簡單的機場程序,我有「路線」和「」飛行「,如果我想要添加獲得票我需要每個航班在路線上,如果你知道我的意思。但請注意,我不想比較them.and我有他們每個對象的數組,如果它有幫助C#合併兩個或多個對象
IRoute R = new LocalRoute(port, destination, routenum);
IFlight F = new LocalFlight(time, date,capacity);
嗨我想合併兩個對象在一起,這樣我就可以使用合併的對象做別的事情。它實際上是一個簡單的機場程序,我有「路線」和「」飛行「,如果我想要添加獲得票我需要每個航班在路線上,如果你知道我的意思。但請注意,我不想比較them.and我有他們每個對象的數組,如果它有幫助C#合併兩個或多個對象
IRoute R = new LocalRoute(port, destination, routenum);
IFlight F = new LocalFlight(time, date,capacity);
我會給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;
}
}
然後你就可以有可能的路線列表和航班的列表,每個都有一個路由的參考。
這會你在找什麼?
public class FlightDetails
{
IRoute Route {get;set}
IFlight Flight {get;set;}
}
爲了更清晰的畫面,你可以做這樣的事情
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);
這聽起來像你只需要以這兩個爲屬性創建一個類型。 (我個人預計航班會知道它的路線,請記住你 - 有什麼理由不對嗎?) –
那麼這就是我想要的,一個航班應該知道它的路線,但是怎麼樣? –
最好的方法是創建具有這兩個對象類型屬性的新類。然後,您可以添加一個構造函數,該構造函數接受兩個對象的所有參數,以便可以在一次調用中初始化這些參數。 –