前言
人一旦懒了就是非常可怕的事情,希望自己以后要更加勤奋。
正文
一 、结构体 (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是引用计数)
欢迎大家提出自己的意见 以及对我个人的批评