class shape
}//通過在類名後新增圓括號來例項化,使用.來訪問例項屬性和方法
var myshape = shape() //在類名後新增圓括號來例項化
shape.******ofnumber =
34print(「myshape.******desciription()」)
//這個版本的shape類遺漏了乙個重要的事情:用於在建立例項時設定類的構造器。使用init來建立這樣的構造器。
class nameshape
func ******description() ->
string
}//子類中的方法可以通過標記override來覆蓋超類中的實現,沒有override,編譯器會視為錯誤,編譯器同時也會檢查那些帶著override卻沒有覆蓋任何超類方法的子類方法。
除了儲存簡單的屬性,屬性還有乙個getter 和乙個setter
class equilateral********: nameshape
var perimeter: double
set
}override func ******description() ->
string
}var ******** = equilateral********(sidelength: 3.1, name: "a ********")
********.perimeter
********.perimeter =
9.9********.sidelength
//如果需要對屬性進行計算,但仍然需要提供在設定新值時的前置和後置的**,可以用willset和didset,如下類要保證三角的邊長和矩形的邊長相等。
類中的方法和函式有乙個重要的區別,函式的引數名只在函式內部使用,但是方法的引數名在你呼叫方法的時候也會被使用(除了第乙個引數),預設情況下,方法使用的引數和你呼叫方法時傳遞的引數同名,但是,你可以為方法的引數指定第二個名字,以供在方法內部使用。
class counter
}var counter = counter()
print(counter.incrementby(2, numberoftimes: 7))
enum
rank: int
}}let ace = rank.ace
let acerawvalue = ace.rawvalue
//在上邊的示例中,列舉的原始值(raw value)型別是int,所以你只需要指定第乙個原始值。其後的原始值都是按照順序賦值的,你還可以使用字串或者浮點數作為列舉的原始值。
當列舉提供的原始值沒有實際意義的時候,可以不提供。
//不提供原始值的列舉
enum suit
}func another******description() -> string
}}let hearts = suit.hearts
let heartsdescription = hearts.******description()
let anotherhearts = suit.hearts
anotherhearts.another******description()
//上面引用hearts成員的兩種方法:當給hearts常量賦值時,列舉成員suit.hearts通過全名引用,因為常量沒有顯示宣告型別。在switch中,列舉通過.hearts引用,因為self的值是已知的。可以在值型別已知的情況下使用這種縮寫。
//結構體
struct card
}let threeofspades = card(rank: .three, suit: .spades)
let threeofspadesdescription = threeofspades.******description()
//乙個列舉成員的例項可以擁有乙個和例項對應的關聯值,同乙個列舉成員的例項可以有不同關聯值與其對應。你在建立例項時提供關聯值,關聯值和原始值的區別:同乙個列舉成員的所有例項的原始值都相同,在定義列舉時提供原始值。如下**:從伺服器獲取太陽公升起和落下時間,伺服器響應具體的資訊或錯誤資訊
//建立伺服器時間函式
enum serverresponse
let success = serverresponse.result("6:00 am", "8.09 pm")
let failure = serverresponse.error("out of cheese.")
switch success
Swift 基礎語法 二
這次的文章主要講述具有代表性的運算子邏輯,以及資料型別轉換的簡單舉例。條件表示式 邏輯運算子 條件表示式 注 邏輯表示式返回的值是 bool 布林值 可選型別其實是乙個美劇型別,裡面包含了 none和 some兩種型別。其實所謂的 nil就是 optional.none,非 nil就是 option...
swift的基礎語法 二
let score 87 if score 60 else if score 70 else if score 80 else if score 90 else 複製 var a 10 var b 50 var result a b a b println result 複製 var age 18 ...
Swift基礎語法
在swift中匯入類庫使用 import 類庫名,不再使用 和 import foundation 輸出語句 swift中的輸出語句使用print c語言中使用prientf print hello,world 常量 變數 定義常量使用 let 常量不能改變 定義變數使用var 變數可以改變 let...