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)
}
}
// library类型为MediaItem
let library = [
Movie(name: "Casablanca", director: "Michael Curtiz"),
Song(name: "Blue Suede Shoes", artist: "Elvis Presley"),
Movie(name: "Citizen Kane", director: "Orson Welles"),
Song(name: "The One And Only", artist: "Chesney Hawkes"),
Song(name: "Never Gonna Give You Up", artist: "Rick Astley")
]
var movieCount = 0
var songCount = 0
for item in library{
if item is Movie{
++movieCount
}else if item is Song{
++songCount
}
}
println("Media library contains \(movieCount) movies and \(songCount) songs")
// prints "Media library contains 2 movies and 3 songs"