Skip to content

Instantly share code, notes, and snippets.

Car = Refuelable + Drivable;
Motorbike = Refuelable + Rideable;
CleanerCar = Refuelable + Driveable + Cleaner;
MechanicRobot = VehicleFinder + Maintainer;
CleanerRobot = VehicleFinder + Cleaner;
protocol Refuelable {
func refuel()
}
protocol Drivable {
func drive()
}
protocol Rideable {
func ride()
struct Car: Refuelable, Drivable {}
struct Motorbike: Refuelable, Rideable {}
struct CleanerCar: Refuelable, Drivable, Cleaner {}
struct MechanicRobot: VehicleFinder, Maintainer {}
struct CleanerRobot: VehicleFinder, Cleaner {}
protocol Refuelable {
func refuel()
}
protocol Drivable {
func drive()
}
struct Car: Refuelable, Drivable {}