Ваш код создает четыре класса:
- Car
- Car.Electro
- Car.Electro.2WheelDrive (я не думаю, что это законно; оно должно начинаться с буквы)
- Car.Electro.4WheelDrive
Это не связанные классы; единственное, что у них общего, - это пространство имен. Car.Electro
не является подклассом Car
. Если вы хотите, чтобы это было, вы должны объявить это.
Вы, вероятно, не хотели делать это вложенными вообще. Вы, вероятно, хотели сделать их подклассами:
class Car {}
class ElectroCar: Car {}
class TwoWheelDriveElectroCar: ElectroCar {}
class FourWheelDriveElectroCar: ElectroCar {}
Если вы хотите, вы все равно можете их вложить:
class Car {
class Electro: Car {
class TwoWheelDrive: Electro {
}
class FourWheelDrive: Electro {
}
}
}
Это просто меняет их имена, а не их отношения.