swift 5 class 与 struct区别
原文:
1、Inheritance enables one class to inherit the characteristics of another.
2、Type casting enables you to check and interpret the type of a class instance at runtime.
3、Deinitializers enable an instance of a class to free up any resources it has assigned.
4、Reference counting allows more than one reference to a class instance.
阅读后文发现:
1、All structures have an automatically generated memberwise initializer.Unlike structures, class instances don’t receive a default memberwise initializer.
1、struct不可以继承其他struct,但可以实现协议。class可以继承其他class。
2、class在运行时候可以类型检查和转换。如基类指向子类实力。
3、struct没有deinit。
4、class是引用类型、struct是值类型(复制)。
阅读后发现:
1、struct默认有一个全属性初始化方法,class没有。
2、let定义的struct,struct的var属性不可以修改。但是class的可以修改。因为struct是值类型,class是引用类型。
3、 类方法,class使用class,struct使用static。
4、struct方法修改自身内容需要mutating, class不需要.
翻译可能不够好,请谅解。