Untitled

Run Settings
LanguageSwift
Language Version
Run Command
class Subjects { var physics: String init(physics: String) { self.physics = physics } } class Chemistry: Subjects { var equations: String init(physics: String, equations: String) { self.equations = equations super.init(physics: physics) } } class Maths: Subjects { var formulae: String init(physics: String, formulae: String) { self.formulae = formulae super.init(physics: physics) } } // [AnyObject] 类型的数组 let saprint: [AnyObject] = [ Chemistry(physics: "固体物理", equations: "赫兹"), Maths(physics: "流体动力学", formulae: "千兆赫"), Chemistry(physics: "热物理学", equations: "分贝"), Maths(physics: "天体物理学", formulae: "兆赫"), Maths(physics: "微分方程", formulae: "余弦级数")] let samplechem = Chemistry(physics: "固体物理", equations: "赫兹") print("实例物理学是: \(samplechem.physics)") print("实例方程式: \(samplechem.equations)") let samplemaths = Maths(physics: "流体动力学", formulae: "千兆赫") print("实例物理学是: \(samplemaths.physics)") print("实例公式是: \(samplemaths.formulae)") var chemCount = 0 var mathsCount = 0 for item in saprint { // 类型转换的条件形式 if let show = item as? Chemistry { print("化学主题是: '\(show.physics)', \(show.equations)") // 强制形式 } else if let example = item as? Maths { print("数学主题是: '\(example.physics)', \(example.formulae)") } } var exampleany = [Any]() exampleany.append(12) exampleany.append(3.14159) exampleany.append("Any 实例") exampleany.append(Chemistry(physics: "固体物理", equations: "兆赫")) for item2 in exampleany { switch item2 { case let someInt as Int: print("整型值为 \(someInt)") case let someDouble as Double where someDouble > 0: print("Pi 值为 \(someDouble)") case let someString as String: print("\(someString)") case let phy as Chemistry: print("主题 '\(phy.physics)', \(phy.equations)") default: print("None") } }
Editor Settings
Theme
Key bindings
Full width
Lines