国产gaysexchina男同gay,japanrcep老熟妇乱子伦视频,吃奶呻吟打开双腿做受动态图,成人色网站,国产av一区二区三区最新精品

Swift教程 - Swift類

2018-01-10 21:33 更新

Swift教程 - Swift類

我們可以使用類在Swift中定義類型。

類為我們提供了一種將相關(guān)信息和行為組合在一起的方法。

要定義一個(gè)Swift類,使用 class 關(guān)鍵字。

class Person {
    var name: String = "Name"
    var age:Int = 0

    func profile() -> String {
       return "I"m \(self.name) and I"m \(self.age) years old."
    }

}

在上面的代碼中,我們定義了一個(gè)名為 Person 的類。

Person 類由一個(gè)人姓名的字符串組成一個(gè)人的年齡的整數(shù)。

這些變量和常量類型稱為屬性。



類實(shí)例(對(duì)象)

要使用 Person 實(shí)例,請(qǐng)根據(jù)此定義創(chuàng)建一個(gè)新實(shí)例。

class Person {
    var name: String = "Name"
    var age:Int = 0

    func profile() -> String {
       return "I"m \(self.name) and I"m \(self.age) years old."
    }
}
var p = Person()

在Swift中,對(duì)象通常是對(duì)結(jié)構(gòu)和類的實(shí)例的引用。



訪問(wèn)類屬性

對(duì)于類實(shí)例屬性,您使用點(diǎn)語(yǔ)法。

p.name = "Tom"
p.age = 40

在上面的代碼中,我們使用點(diǎn)語(yǔ)法來(lái)更改變量值。

類是引用類型。

使用賦值運(yùn)算符時(shí),只分配對(duì)實(shí)例的引用。

當(dāng)更改類實(shí)例成員時(shí),它們將反映在實(shí)例無(wú)處不在的程序。

類和結(jié)構(gòu)實(shí)例

struct S {
    var i = 1
}

class C {
    var i = 1
}

var s = S()

var c = C()

println("s.i = \(s.i)")
println("c.i = \(c.i)")

清單32-2中的語(yǔ)句將打印:

s.i = 1
c.i = 1

類與結(jié)構(gòu)和參考與復(fù)制

引用和復(fù)制實(shí)例之間的主要區(qū)別發(fā)生在使用賦值運(yùn)算符 = 來(lái)引用實(shí)例時(shí)。

對(duì)于結(jié)構(gòu),在分配期間將獲取實(shí)例的副本。此副本獨(dú)立于原始實(shí)例操作。更改副本不會(huì)反映在原始實(shí)例中。

將變量分配給類實(shí)例會(huì)對(duì)類實(shí)例成員進(jìn)行更改,原來(lái)的實(shí)例內(nèi)容也會(huì)改變。

struct S {
    var i = 1
}

class C {
    var i = 1
}

var s2 = s
var c2 = c
s2.i = 2
c2.i = 2
println("s.i = \(s.i)")
println("c.i = \(c.i)")

上面的代碼生成以下結(jié)果。

從輸出我們可以看到原始結(jié)構(gòu)成員不會(huì)改變?cè)碱惖膶?shí)例成員的值更改為與值相同 c2 上的 i 屬性。

類身份操作符

類相等運(yùn)算符===比較兩個(gè)類實(shí)例。

如果實(shí)例變量都指向同一個(gè)實(shí)例,此運(yùn)算符將返回true。

class Person {
    var name: String = "Name"
    var age:Int = 0

    func profile() -> String {
        return "I"m \(self.name) and I"m \(self.age) years old."
    }

}
var p1 = Person()
p1.name = "A"
p1.age = 40

var p2 = Person()
p2.name = "B"
p2.age = 25

var b1 = p2 === p2
var b2 = p1 === p2

上面的代碼生成以下結(jié)果。

b1是真的,因?yàn)樗鼈兌际窍嗤膶?shí)例,b2為假。

類不等式身份運(yùn)算符

類實(shí)例不等式身份操作符!== 測(cè)試看是否兩個(gè)實(shí)例不指向同一實(shí)例。

var b7 = p1 !== p1 //returns false
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)