美文网首页
swift4-父类在实例转换时的应用

swift4-父类在实例转换时的应用

作者: Deng_1957C | 来源:发表于2018-09-08 22:50 被阅读0次

class Animal
{
var name:String
init(name:String) {
self.name = name
}
}

class Dog:Animal
{

var color:String
init(name:String,color:String) {
    self.color = color
    super.init(name: name)
}

}

class Bird:Animal
{
var color:String
init(name:String,color:String)
{
self.color = color
super.init(name: name)
}
}

let animals:[Animal] =
[
Dog(name: "doby", color: "white"),
Dog(name: "ketty", color: "black"),
Dog(name: "notty", color: "red")
]
//使用as!强制将父类类型转换为子类类型
for animal in animals
{
let dog = animal as! Dog
print("Dog:(dog.name),(dog.color)")
}
//使用另一个循环语句强制转换
for animal in animals as! [Dog]
{
print("Dog:(animal.name),(animal.color)")
}
let anims:[Animal] =
[
Dog(name: "kit", color: "black"),
Dog(name: "miky", color: "white"),
Bird(name:"misy",color:"blue"),
Bird(name: "lolly", color: "red")
]
//使用is来判定类型
for item in anims
{
if item is Dog
{
print("i am a dog,my name is (item.name)")
}else if item is Bird
{
print("i am a bird,my name is (item.name)")
}
}

for anim in anims
{
if let dog = anim as?Dog
{
print("i am a dog,my name is (dog.name)")
}else if let bird = anim as? Bird
{
print("i am a bird,my name is (bird.name)")
}
}

相关文章

  • swift4-父类在实例转换时的应用

    class Animal{var name:Stringinit(name:String) {self.name ...

  • swift4-父类在实例转换时的应用

  • iOS开发 - 「Swift 学习」Swift类型转换

    Swift类型转换 类型转换可以判断实例的类型,也可以用于检测实例类型是否属于父类或子类的实例类型转换用as操作符...

  • 类的初始化顺序1

    当实例化父类或特质时,父类构造器的代码在子类的构造器实例化之前,类定义之后执行。 输出结果: 此题翻译自Locat...

  • Swift 类型转换

    Swift 语言类型转换可以判断实例的类型。也可以用于检测实例类型是否属于父类或者子类的实例。Swift 中类型转...

  • JS实现继承的7种方式

    父类 一、原型链继承 重点:让新实例的原型等于父类的实例。特点:1、实例可继承的属性有:实例的构造函数的属性,父类...

  • Type Casting(类型转换)

    //类型转换//“类型转换 可以判断实例的类型,也可以将实例看做是其父类或者子类的实例。”//“类型转换在 Swi...

  • 多态

    一.类型转换 1.向上转型 Father f =new Son(); 父类引用指向子类实例; 可以调用子类...

  • 18:JS 中继承实现的几种方式

    1、原型链继承,将父类的实例作为子类的原型,他的特点是实例是子类的实例也是父类的实例,父类新增的原型方法/属性,子...

  • Python-类和对象

    关键词:类、实例、继承、重载创建类: 创建类实例对象: 属性操作: 类的继承: 继承类定义时,括号内填写父类名称继...

网友评论

      本文标题:swift4-父类在实例转换时的应用

      本文链接:https://www.haomeiwen.com/subject/poalgftx.html