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

原文:http://coolketang.com/staticCoding/5a9925ac17d0090035986868.html

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



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


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


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


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


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


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


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


9. 给类添加两个属性。 


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


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


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


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


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


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


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


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


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


猜你喜欢

转载自blog.csdn.net/fzhlee/article/details/80213604
5.6
今日推荐