建立和使用類
swift 使用 class 建立乙個類,類可以包含欄位和方法:
class
shape
}
建立 shape 類的例項,並呼叫其字段和方法
var shapes = shape()
shapes.numberofsides = 10
shapes.******description()
println("\(shapes.******description())")
通過 init 構建物件,既可以使用 self 顯式引用成員字段(name),也可以隱 式引用(numberofsides)。
class
namedshape
func ******description()-> string
}
let nameshape = namedshape(name:"haha")
nameshape.numberofsides = 10
nameshape.******description()
println("\(nameshape.******description())")
繼承和多型
swift 支援繼承和多型(override 父類方法):
class
square: namedshape
func area () -> double
let test = square(sidelength: 5.2, name: "my test square")
test.area()
test.******description()
注意:如果這裡的 ******description 方法沒有被標識為 override 錯誤。
屬性
為了簡化**,swift 引入了屬性(property),見下面的 perimeter 字段:
class
equilateral********:namedshape
var perimeter:double
set}
override func ******description() -> string
}
var ******** = equilateral********(sidelength: 3.1, name: "a ********")
********.perimeter
********.perimeter = 9.9
注意:賦值器(setter)中,接收的值被自動命名為 newvalue。
willset 和 didset
equilateral******** 的構造器進行了如下操作:
為子型別的屬性賦值、呼叫父型別的構造器、修改父型別的屬性。
呼叫方法
swift中,函式的引數名稱只能在函式內部使用,但方法的引數名稱除了在內部使用外還可以在外部使用(第乙個引數除外),例如:
中,函式的引數名稱只能在函式內部使用,但方法的引數名稱除
var count:int = 0
func incrementby(amount:int,numberoftimes times:int)
}
var count = counter()
count.incrementby(2, numberoftimes: 7)
注意 swift 支援為方法引數取別名:在上面的**裡,numberoftimes 面向外 部,times 面向內部。
?的另一種用途
使用可空值時,?可以出現在方法、屬性或下標前面。如果?前的值為 nil,
那麼?後面的表示式會被忽略,而原表示式直接返回 nil,例如:
let
optional:square?=square(sidelength: 2.3, name:"optional")
let sidelength = optional?.sidelength
println("sidelength = \(sidelength)")
當 optionalsquare 為 nil 時,sidelength 屬性呼叫會被忽略。 Scala學習筆記3 類和物件
類 class 和構造器 類的定義形式如下 class myclass a int,b int show 你可以通過以上方式引數化特質,但是你會發現這和 new 類名 引數列表 引數化乙個類例項還是有區別的,因為你看到了對於test變數的兩次println 第一次在特質主體中,第二次是由於呼叫了方法...
SWfit學習2 函式和閉包
函式 swift 使用 func 關鍵字宣告函式 func greet name string,day string string greet hello day world 通過元組 tuple 返回多個值 func getprices double,double,double getprices...
C 類和物件(3)
初始化列表是成員或類定義的地方。初始化列 式 class date private int year int month int day 需要注意的幾點 每個成員變數在初始化列表中只能出現一次 初始化只能初始化一次 類中包含以下成員時,必須放在初始化列表的位置進行初始化 class a privat...