学习swift (第六天)

2016-10-14  本文已影响6人  RDPCode

前言

人一旦懒了就是非常可怕的事情,希望自己以后要更加勤奋。

正文

一 、结构体 (Struct)

Swift 结构体是构建代码所用的一种通用且灵活的构造体。

我们可以为结构体定义属性(常量、变量)和添加方法,从而扩展结构体的功能。

例子一

struct Person {

var name :String

var age:Int

func printData(){

print("name =\(self.name) age =\(self.age)")

}

}

var xiaoming :Person=Person(name:"小明", age:15)

xiaoming.printData()

二、类(Class)

classPerson {

varname :String=""

varage:Int=0

init(name :String, age :Int){

self.name= name

self.age= age

}

funcprintData(){

print("name =\(self.name) age =\(self.age)")

}

}

varxiaoming =Person(name:"小明", age:16)

xiaoming.printData()

三、总结

从代码来看Struct 跟 class 基本结构代码是没有什么区别。

但是他们两者却有本质区别

先说他们相同点

相同

1,定义属性用于存储值

2,定义方法用于提供功能

3,定义附属脚本用于访问值

4,定义构造器用于生成初始化值

5,通过扩展以增加默认实现的功能

6,符合协议以对某类提供标准功能

不同

1,继承允许一个类继承另一个类的特征

2,类型转换允许在运行时检查和解释一个类实例的类型

3,解构器允许一个类实例释放任何其所被分配的资源

4,引用计数允许对一个类的多次引用

以我的理解就是结构体没有面向对象三大特性(封装,继承,多态),而且结构体是值引用,对象是地址引用(iOS是引用计数)

欢迎大家提出自己的意见 以及对我个人的批评

上一篇下一篇

猜你喜欢

热点阅读