開発環境
- OS X Mavericks - Apple(OS)
- Xcode 6.1 Beta
- Swift (プログラミング言語)
Head First JavaScript Programming (Eric T. Freeman (著)、 Elisabeth Robson (著)、 O'Reilly Media )のChapter 12(Creating object: Advanced Object Construction)、EXERCISE(p.544)をSwiftで考えてみる。
EXERCISE(p.544)
コード(Xcode)
main.swift
//
// main.swift
// sample544
//
// Created by kamimura on 9/27/14.
// Copyright (c) 2014 kamimura. All rights reserved.
//
import Foundation
class Dog {
let name:String
let breed:String
let weight:Int
init(name:String, breed:String, weight:Int) {
self.name = name
self.breed = breed
self.weight = weight
}
func bark() {
if self.weight > 25 {
println("\(self.name) says Woof!")
} else {
println("\(self.name) says Yip!")
}
}
}
class Cat {
let name:String
let breed:String
let weight:Int
init(name:String, breed:String, weight:Int) {
self.name = name
self.breed = breed
self.weight = weight
}
}
func dogCatcher(obj:AnyObject) -> Bool {
if obj is Dog {
return true
}
return false
}
let meow = Cat(name: "Meow", breed: "Siamese", weight: 10)
let whiskers = Cat(name: "Whiskers", breed: "Mixed", weight: 12)
let fido = ["name":"Fido", "breed":"Mixed", "weight":30]
let fluffy = Dog(name: "Fluffy", breed: "Poodle", weight: 30)
let spot = Dog(name: "Spot", breed: "Chihuahua", weight: 10)
let dogs = [meow, whiskers, fido, fluffy, spot]
for dog in dogs {
if dogCatcher(dog) {
println("\((dog as Dog).name) is a dog")
}
}
入出力結果(Console Output)
Fluffy is a dog Spot is a dog Program ended with exit code: 0
0 コメント:
コメントを投稿