• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

SWIFT中用Switchcase类类型

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

有时觉得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")

}

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
iOSswiftNSClassFromString将字符串转换成类名发布时间:2022-07-13
下一篇:
Swift-----协议Protocol发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap