SWIFT中用Switch case 类类型

简介: 有时觉得SWIFT的语法真的强大而又变态,不说了,直接上代码瞅瞅: 首先先定义一个交通工具的父类 class Vehicle{     var wheels:Int!     var speed:Double!     init(wheels:Int,speed:Double){         self.

有时觉得SWIFT的语法真的强大而又变态,不说了,直接上代码瞅瞅:

首先先定义一个交通工具的父类

class Vehicle{

    var wheels:Int!

    var speed:Double!

    init(wheels:Int,speed:Double){

        self.speed = speed

        self.wheels = wheels

    }

    func run(){

        println("The \(self.wheels) wheels is running as \(self.speed) speed")

    }

    deinit{//类似于其它编程语言的析构函数,退出时释放对象

        self.wheels = nil

        self.speed = nil

    }

}

创建一个自行车类

class Bike : Vehicle{

        init(){

        super.init(wheels: 2, speed: 10)

    }

}

 创建一个小车类及一个加油的方法

class Car : Vehicle{

    init(){

        super.init(wheels: 4, speed: 100.5)

    }

    func addOil(){

        println("The Car is adding oil")

    }

}

 

创建一个货车类及添加货物的方法

class Truck : Vehicle{

    init(){

        super.init(wheels: 4, speed:80.5)

    }

    func addCargo(){

        println("The Car is adding cargo")

    }

}

 

var myvehicle:Vehicle = Car()

判断如果是小车类型的

if (myvehicle is Car){

  println("This is a car")

}

switch myvehicle{

case let bike as Bike: //此时,如果myvehicle是Bike对象那边将myvehicle赋值给bike变量。下面的代码也类似

    bike.run()

case let car as Car where car.speed == 100.5: //如果是Car并且速度是100.5,这语法真的很变态

    car.addOil() //调用自有方法

    car.run()

case let truck as Truck:

    truck.addCargo()//调用自有方法

default:

    println("unknow")

}

 

相关文章
|
11月前
|
在Swift编程语言中,浮点数类型
在Swift编程语言中,浮点数类型
112 6
在Swift编程语言中,集合类型`Set`
在Swift编程语言中,集合类型`Set`
88 2
|
11月前
|
在Swift编程语言中,整数类型
在Swift编程语言中,整数类型
126 1
在Swift编程语言中,`switch`语句
在Swift编程语言中,`switch`语句
120 1
Swift 是苹果公司开发的现代编程语言,具备高效、安全、简洁的特点,支持类型推断、闭包、泛型等特性,广泛应用于苹果各平台及服务器端开发
Swift 是苹果公司开发的现代编程语言,具备高效、安全、简洁的特点,支持类型推断、闭包、泛型等特性,广泛应用于苹果各平台及服务器端开发。基础语法涵盖变量、常量、数据类型、运算符、控制流等,高级特性包括函数、闭包、类、结构体、协议和泛型。
100 2
Swift 是一种现代编程语言,支持面向对象编程(OOP),包括类、对象、继承、多态等核心概念
Swift 是一种现代编程语言,支持面向对象编程(OOP),包括类、对象、继承、多态等核心概念。通过这些特性,Swift 能够帮助开发者构建结构清晰、可维护性强的代码。本文介绍了 Swift 中 OOP 的基本概念、高级特性和实际应用,并通过一个简单的 `Car` 类示例展示了如何在 Swift 中实现面向对象编程。
55 1
|
5月前
|
Swift 泛型-扩展泛型类型
Swift 泛型-扩展泛型类型
62 2
|
5月前
|
Swift 泛型-关联类
Swift 泛型-关联类
36 1
|
5月前
|
Swift 泛型-类型约束
Swift 泛型-类型约束
53 1
Swift 可选(Optionals)类型
10月更文挑战第24天
56 2
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等