var numberOfSide:Int=0
var name:String
init(name:String){
self.name=name
}
func simpleDescription()->String{
return "A shape with \(numberOfSide) sides"
}
}
//繼承
class Circle: NamedShape{
var radius:Double
init(name:String,radius:Double) {
self.radius=radius
super.init(name:name)
numberOfSide=1
}
//增加新方法 "func"表示一個新方法類似於jsp的"function" "->"用於指定返回值類型
func area()->Double{
return radius*radius*3.14
}
//override重載標誌
override func simpleDescription() -> String {
return "A shape with only one sides"
}
}
for i in 0..<4{
firstForLoop+=i
}
println(firstForLoop)
enum Rank:Int{
case Ace=1
case two,three,four,five,six,seven,eight,night,ten
case Jack,Queen,King
func simpleDescription()->String{
switch self{
case .Ace:
return "ace"
case .Jack:
return "Jack"
case .Queen:
return "Queen"
case .King:
return "King"
default:
return String(self.rawValue)
}
}
}
func compareValue(a:Rank,b:Rank)->String{
if a.rawValue>b.rawValue{
return "\(a.simpleDescription()) is bigger than \(b.simpleDescription())"
}
else if a.rawValue==b.rawValue{
return "\(a.simpleDescription()) and \(b.simpleDescription()) are the same"
}
else{
return "\(b.simpleDescription()) is bigger than \(a.simpleDescription())"
}
}
//未直接賦值的枚舉
enum Suit{
case Spades,Clubs,Hearts,Diamonds
func simpleDescription()->String{
switch self{
case .Spades:
return "spades"
case .Clubs:
return "clubs"
case .Hearts:
return "hearts"
case .Diamonds:
return "diamonds"
}
}
func colorOf()->String{
switch self{
case .Spades,.Clubs:
return "black"
case .Hearts,.Diamonds:
return "black"
}
}
}
enum SeverResponse{
case Result(String,String)
case Error(String)
}
let success = SeverResponse.Result("6:00 am","8:00pm")
let failure = SeverResponse.Error("Out of cheese")
switch success {
case let .Result(sunrise,sunset):
let severResponse = "Sunrise is at \(sunrise) and sunset is at \(sunset)."
println(severResponse)
case let .Error(error):
let severResponse = "Failure... \(error)"
println(severResponse)
}