Swift学习

Swift类与结构体的区别

struct People {
var name : String
init(name : String) {
self.name = name
}
}
var p = People.init(name: "张三")
var p2 = p
p2.name = "lisi"
print(p.name,p2.name)
class Car {
var carName : String = ""
init(name : String) {
self.carName = name
}
}
var c = Car.init(name: "宝马")
var c2 = c
c2.carName = "奔驰"
print(c.carName,c2.carName)


屏幕快照.png
  • 结构体是值类型,其 实例将会被赋予变量或者常量和被函数调用时被复制
  • 结构体中的成员可以包括属性、类型别名、数组、其他结构体和枚举声明
  • 结构体声明不能包含析构器或者协议声明,但是可以包括任意协议的实现,不能继承类、枚举、其他结构体

还有的区别就是类是属于面向对象编程,结构体属于面向协议的编程,所谓面向协议编程其实就是面向对象的升级。在swift中推荐使用的是使用结构体,类在swift中不处于主流的地位,还有就是结构体也能够实现类的全部功能,结构体更模块化,默认实现初始化方法并且不用考虑ARC

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

推荐阅读更多精彩内容