開発環境
- OS X Mavericks - Apple(OS)
- Xcode 6.0 Beta
- Swift (プログラミング言語)
Head First JavaScript Programming (Eric T. Freeman (著)、 Elisabeth Robson (著)、 O'Reilly Media )のChapter 5(Understanding Objects: A trip to Objectville)、OBJECT MAGNETS(p.183)をSwiftで考えてみる。
OBJECT MAGNETS(p.183)
コード(Xcode)
main.swift
//
// main.swift
// sample183
//
// Created by kamimura on 8/11/14.
// Copyright (c) 2014 kamimura. All rights reserved.
//
import Foundation
var dog = ["name":"Fido", "weight":20.2, "age":4, "breed":"mixed", "activity":"fetch balls"]
var bark:String
if dog["weight"].floatValue > 20 {
bark = "WOOF WOOF"
} else {
bark = "woof woof"
}
println((dog["name"] as String) + " says " + bark + " when he want to " + (dog["activity"] as String))
class Dog {
let name:String
// privateは意味ない?
private var weight:Float
var age:Int
var breed:String
var activity:String
init(name:String, weight:Float, age:Int, breed:String, activity:String) {
self.name = name
self.weight = weight
self.age = age
self.breed = breed
self.activity = activity
}
var description:String {
let bark = weight > 20 ? "WOOF WOOF" : "woof woof"
return "\(name) says \(bark) when he want to \(activity)"
}
func description1() -> String {
let bark = weight > 20 ? "WOOF WOOF" : "woof woof"
return "\(name) says \(bark) when he want to \(activity)"
}
}
var dog1 = Dog(name: "Fido", weight: 20.2, age: 4, breed: "mixed", activity: "fetch balls")
println(dog1.description)
println(dog1.description1())
// private fieldの変数でも値を変更出来るか確認
dog1.weight = 15
println(dog1.description)
println(dog1.description1())
入出力結果(Console Output)
Fido says WOOF WOOF when he want to fetch balls Fido says WOOF WOOF when he want to fetch balls Fido says WOOF WOOF when he want to fetch balls Fido says woof woof when he want to fetch balls Fido says woof woof when he want to fetch balls Program ended with exit code: 0
0 コメント:
コメントを投稿