Допустим у меня есть класс RailroadStation(железнодорожная станция, ну там где разгружаются и загружаются поезда) и RoadStation(дорожная, там где колёсная техника, грузовики там всякие), и они наследуются от базового класса BaseStation. Так же соответственно есть классы Railroad и Road, которые наследуюся от BaseRoad. И собственно вопрос. Как сделать правильно?
Вот так:
Синтаксис:
Используется csharp
class Station
{
protected BaseRoad[] roads;
public void Create()
{
raods = new BaseRoad[count];
//создание станции
//....
}
}
{
protected BaseRoad[] roads;
public void Create()
{
raods = new BaseRoad[count];
//создание станции
//....
}
}
Или вот так:
Синтаксис:
Используется csharp
class RoadStation : Station
{
private Road[] roads;
public void Create()
{
raods = new Road[count];
//создание станции
//....
}
}
class RailroadStation : Station
{
private Railroad[] railroads;
public void Create()
{
railroads = new Railroad[count];
//создание станции
//....
}
}
{
private Road[] roads;
public void Create()
{
raods = new Road[count];
//создание станции
//....
}
}
class RailroadStation : Station
{
private Railroad[] railroads;
public void Create()
{
railroads = new Railroad[count];
//создание станции
//....
}
}
Хочется сделать как в первом примере, но тогда вроде как получается что у ж/д станции, нифига не железная дорога.
А если делать как во втором примере, то тогда придётся продублировать метод Create.
Вот как быть, направьте на путь истинный