From cd3d32a6b95e5ff59356a0fafa53207a223a2d1a Mon Sep 17 00:00:00 2001 From: Ingo Rohlf Date: Mon, 20 Oct 2025 14:04:45 +0200 Subject: [PATCH] protocol Vehicle --- .DS_Store | Bin 6148 -> 6148 bytes Playground.swift | 21 ++++++++++++++++-- .../UserInterfaceState.xcuserstate | Bin 28615 -> 30037 bytes 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/.DS_Store b/.DS_Store index ccb37759d429d9cf21c73177138099e614a1112c..02e540c881c526fe0a024c1b16a6313feb615727 100644 GIT binary patch delta 33 pcmZoMXffE}#l*z+fARz-qsetlQy2p_D>6T0nb^R$nVsV=KLEn&3uyoV delta 33 pcmZoMXffE}#l*x|IC%n-(d0U&DVx8F@H1~VV1CB9nVsV=KLEWz3qSw> diff --git a/Playground.swift b/Playground.swift index cdcc138..ced05e3 100644 --- a/Playground.swift +++ b/Playground.swift @@ -1,7 +1,23 @@ // https://carrascomolina.com import Playgrounds -struct Bike { +protocol Vehicle { + // name ist read-only + var name: String {get} + var color: String {get set} +} + +struct Train: Vehicle { + var name: String + var color = "white" +} + +struct ICE: Vehicle { + var name = "ICE" + var color = "white" +} + +struct Bike: Vehicle { var name: String var color: String // newValue ist ein special keyword @@ -14,9 +30,10 @@ struct Bike { #Playground { var greeting = "Hallo Playground" var bike = Bike.trek + var train = Train(name:"TGV") bike.description bike.description = "Mein Rad" bike.description - + train // write code here } diff --git a/TheSwiftWeek.xcodeproj/project.xcworkspace/xcuserdata/rohing73.xcuserdatad/UserInterfaceState.xcuserstate b/TheSwiftWeek.xcodeproj/project.xcworkspace/xcuserdata/rohing73.xcuserdatad/UserInterfaceState.xcuserstate index b7e03f782345d549de7257aa1fb075ca949438f3..02f80090131f9bf505519cb8052c77ce01b31f8a 100644 GIT binary patch delta 11314 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