Swift 七:结构体和类

1).结构体定义和结构体成员访问

定义语法:

结构体类型 结构体名 {

   成员属性类型 属性名 : 属性类型

    ...

}

例子:

struct Rect {

var width : Double

var height : Double

}

成员变量调用例子:

struct Rect {

       var width : Double = 10

       var height : Double = 10

}

var rect1 = Rect();

rect1.width = 11;


2).结构体构造器

struct Rect {

    var width : Double

    var height : Double

}

var rect1 = Rect(width: 10, height: 10) 

//结构体逐一成员构造器

//在没有额外声明初始化方法时,swift会默认提供这个方法初始化,swift要求结构体或者类的成员变量,在初始化时给定初值


3).结构体中定义成员方法

struct Rect {

      var width : Double

      var height : Double

     func getWidth() -> Double {

         return width  //  return self.width   //成员方法可以访问成员属性

     }

}

var rect1 = Rect(width: 10, height: 10)

rect1.getWidth()  //成员方法依赖于对象


4).结构体是值类型

struct Rect {

    var width : Double = 19

    var height : Double = 10

}

var rect1 = Rect()

var rect2 = rect1

rect1.width = 100

print(rect2.width)    //rect2的值没有改变

可以看出  rect1跟rect2是两个不同的实例,但是内容一致!并非是两个引用,指向了同一块内存区域


5).类的基本定义

类的声明跟结构体基本一致,关键字改为Class即可,成员访问也是通过“点语法”

但是类无逐一成员构造器这个默认方法

类不同于结构体的值类型,类是引用类型!

swift中提供恒等运算符“ ===”来判断两个对象是否指向同一个实例  //  “!==”

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容