当前位置: 首页 > 文档资料 > Swift 中文教程 >

类( Classes)

优质
小牛编辑
132浏览
2023-12-01

Swift 4中的类是灵活构造的构建块。 与常量,变量和函数类似,用户可以定义类属性和方法。 Swift 4为我们提供了一些功能,在声明类时,用户无需创建接口或实现文件。 Swift 4允许我们将类创建为单个文件,并且一旦初始化类,默认情况下将创建外部接口。

有类的好处

  • 继承获取另一个类的属性

  • 类型转换使用户可以在运行时检查类类型

  • Deinitializers负责释放内存资源

  • 引用计数允许类实例具有多个引用

类和结构的共同特征

  • 定义属性以存储值
  • 定义下标用于提供对值的访问
  • 初始化方法以改进功能
  • 初始状态由初始化程序定义
  • 功能扩展超出默认值
  • 确认协议功能标准

语法 (Syntax)

Class classname {
   Definition 1
   Definition 2
   --- 
   Definition N
}

类定义

class student {
   var studname: String
   var mark: Int 
   var mark2: Int 
}

创建实例的语法

let studrecord = student()

例子 (Example)

class MarksStruct {
   var mark: Int
   init(mark: Int) {
      self.mark = mark
   }
}
class studentMarks {
   var mark = 300
}
let marks = studentMarks()
print("Mark is \(marks.mark)")

当我们使用游乐场运行上述程序时,我们得到以下结果 -

Mark is 300

访问类属性作为引用类型

可以通过'。'访问类属性。 句法。 属性名称以'。'分隔。 在实例名称之后。

class MarksStruct {
   var mark: Int
   init(mark: Int) {
      self.mark = mark
   }
}
class studentMarks {
   var mark1 = 300
   var mark2 = 400
   var mark3 = 900
}
let marks = studentMarks()
print("Mark1 is \(marks.mark1)")
print("Mark2 is \(marks.mark2)")
print("Mark3 is \(marks.mark3)")

当我们使用游乐场运行上述程序时,我们得到以下结果 -

Mark1 is 300
Mark2 is 400
Mark3 is 900

类标识运算符

Swift 4中的类指的是指向单个实例的多个常量和变量。 要了解指向特定类实例的常量和变量,请使用标识符运算符。 类实例始终通过引用传递。 在类中,NSString,NSArray和NSDictionary实例始终作为对现有实例的引用而不是作为副本进行分配和传递。

与运算符相同与运算符不一致
Operator used is (===)Operator used is (!==)
当两个常量或变量指向同一个实例时返回true当两个常量或变量指向不同的实例时返回true
class SampleClass: Equatable {
   let myProperty: String
   init(s: String) {
      myProperty = s
   }
}
func ==(lhs: SampleClass, rhs: SampleClass) -> Bool {
   return lhs.myProperty == rhs.myProperty
}
let spClass1 = SampleClass(s: "Hello")
let spClass2 = SampleClass(s: "Hello")
spClass1 === spClass2 // false
print("\(spClass1)")
spClass1 !== spClass2 // true
print("\(spClass2)")

当我们使用游乐场运行上述程序时,我们得到以下结果 -

main.SampleClass
main.SampleClass