I normally try to find the information that is shared by most objects. This is used to create a "base type".
(for example vehicle if you have bike, car, bus, ...)
The other types then extend this with their own "unique" properties.
This way you can for example create a list of vehicles and use the vehicles common abilities and if needed cast to an extended type which is very usefull
(for example vehicle if you have bike, car, bus, ...)
The other types then extend this with their own "unique" properties.
This way you can for example create a list of vehicles and use the vehicles common abilities and if needed cast to an extended type which is very usefull