这应该是一个简单的问题.
假设我有航空公司和航班.一家航空公司可以有多个航班.每次航班应与一家航空公司联系.
如何创建类来模仿此行为?我想出的如下:
public class Airline
{
private string Name;
private string Description;
private List<Flight> Flights;
public Airline(string Name, string Description)
{
this.Name = Name;
this.Description = Description;
}
public void AddFlight(Flight Flight)
{
if (!this.Flights.Contains(Flight))
{
this.Flights.Add(Flight);
}
}
public void RemoveFlight(Flight Flight)
{
this.Flights.Remove(Flight);
}
}
public class Flight
{
private string No;
private string Time;
private Airline Airline;
public Flight(Airline Airline, string No, string Time)
{
this.No = No;
this.Time = Time;
this.Airline = Airline;
}
}
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来完成这项任务?我不喜欢的是,当我创建一个航班时,我必须添加一个航空公司,然后我必须打电话给Airline.AddFlight以便将它与我的航空公司联系起来.此外,我正在寻找代码或其他任何可以改进的问题.
为什么不在施工时将航班添加到航空公司:
public Flight(Airline Airline, string No, string Time)
{
this.No = No;
this.Time = Time;
this.Airline = Airline;
Airline.AddFlight(this);
}
Run Code Online (Sandbox Code Playgroud)
?