Schulung_iOS/Models.swift
2025-10-21 09:17:48 +02:00

39 lines
830 B
Swift

import Playgrounds
import Foundation
protocol Vehicle {
var name: String { get }
var color: String { get set }
}
struct Train: Vehicle {
var name: String
var color: String
var delay: Int
var content: Bike
init(
name: String = "ICE",
color: String = "white",
delay: Int = 0,
@BikeBuilder content: @escaping () -> Bike
) {
self.name = name
self.color = color
self.delay = delay
self.content = content()
}
}
struct Bike: Vehicle, CustomStringConvertible {
var name: String
var color: String
var description: String { name + " is " + color }
var price: some Equatable {
"FREE"
}
static let trek = Bike(name: "Trek", color: "green")
func emptyBasket() {
print("emptied", Date())
}
}