类和结构体

比较结构体和类

Swift 中结构体和类有很多共同点,二者皆可:

  • 定义属性以存储值
  • 定义方法以提供功能
  • 定义下标以提供下标语法访问其值
  • 定义构造器以设置其初始化状态
  • 通过扩展以增加默认实现功能
  • 遵循协议以提供某种标准功能

类又有一些结构体没有的额外功能:

  • 继承让一个类可以继承另一个类的特征
  • 类型转换让你在运行时可以检查和解释一个类实例
  • 析构器让一个类的实例可以释放任何被其所分配的资源
  • 引用计数允许对一个类实例进行多次引用
定义语法

每当你定义一个新的结构体或类都是定义一个全新的 Swift 类型。请使用 UpperCamelCase 命名法

struct SomeStructure {
    // structure definition goes here
}
class SomeClass {
    // class definition goes here
}
struct Resolution {
    var width = 0
    var height = 0
}
class VideoMode {
    var resolution = Resolution()
    var interlaced = false
    var frameRate = 0.0
    var name: String?
}
类是引用类型,结构体是值类型

你可能感兴趣的:(类和结构体)