開発環境
- 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 コメント:
コメントを投稿