美文网首页Swift互动教程
5.6 类和结构两个类型的比较 [Swift教程]

5.6 类和结构两个类型的比较 [Swift教程]

作者: 互动教程网 | 来源:发表于2018-04-11 16:19 被阅读61次

    1. 本节将类的引用特征和结构体进行比较,使你能够更清晰地明白类和结构体的区别。

    image

    2. 首先创建一个结构体。

    image

    3. 往结构体中添加两个属性。

    image

    4. 接着实例化结构体的对象,并设置它的两个属性的值。

    image

    5. 将该对象赋予一个变量,该变量也将具有和对象相同的属性,以及属性的值。

    image

    6. 这里修改新对象的属性的值。

    image

    7. 通过第13和第14行右侧的结果可以看出,结构体对象之间的值传递,采用的是拷贝的方式。两个对象都是相对独立的,一方发生变化,不会对另一方产生影响。

    image

    8. 接着我们再创建一个类。

    image

    9. 给类添加两个属性。

    image

    10. 接着添加一个初始化方法。

    image

    11. 在初始化方法中,给两个属性设置初始值。

    image

    12. 接着对类进行实例化,实例化的对象的两个属性,将拥有默认的值。

    image

    13. 然后将该对象赋予另一个对象。新对象拥有旧对象相同的类型、属性和方法,并且两者的两个属性的值也都是相同的。

    image

    14. 此时对第二个对象的属性的值进行修改。

    image

    15. 接着依次输出两个对象的属性,从右侧的实时反馈区可以看出,两个对象其实是对同一个实例的两个引用,当其中一个发生变化时,另一个也跟着发生变化。

    image

    16. 控制台输出的日志,也验证了类的引用特征,即类为引用类型,而结构体为值类型。

    image

    17. 最后使用全等号,来比较对同一个实例进行引用的两个对象。从右侧的结果可以看出,这两个对象是完全相同的。

    image

    image

    本文整理自:《Swift4互动教程》,真正的[手把手]教学模式,用最快的速度上手iOS开发和Swift语言,苹果商店App Store免费下载:https://itunes.apple.com/cn/app/id1320746678,或扫描本页底部的二维码。课程配套素材下载地址:资料下载

    相关文章

      网友评论

        本文标题:5.6 类和结构两个类型的比较 [Swift教程]

        本文链接:https://www.haomeiwen.com/subject/lslzhftx.html