目录
类型转换在 Swift 中使用 is
和 as
操作符实现。这两个操作符分别提供了一种简单达意的方式去检查值的类型或者转换它的类型。(用于check?)
为类型转换定义类层次
将类型转换用在类和子类的层次结构上,检查特定类实例的类型并且转换这个类实例的类型成为这个层次结构中的其他类型。(父类转换为子类或子类转成父类去处理?)
//媒体父类
class MediaItem {
var name: String
init(name: String) {
self.name = name
}
}
//电影子类
class Movie: MediaItem {
var director: String
init(name: String, director: String) {
self.director = director
super.init(name: name)
}
}
//歌曲子类
class Song: MediaItem {
var artist: String
init(name: String, artist: String) {
self.artist = artist
super.init(name: name)
}
}
let library = [
Movie(name: "Casablanca", director: "Michael Curtiz"),
Song(name: "Blue Suede Shoes", artist: "Elvis Presley"),