iugo / candev

Can development be self-taught? 开发能自学吗?
The Unlicense
0 stars 0 forks source link

Swift 中 class 的使用, 与 JS class 有什么区别? #4

Open iugo opened 1 year ago

iugo commented 1 year ago

Swift 如何定义一个 class 类型?

在 Swift 中,可以通过使用 class 关键字来定义一个 class 类型。例如,以下代码定义了一个名为 Person 的 class 类型:

class Person {
    // 属性
    var name: String
    var age: Int

    // 方法
    func sayHello() {
        print("Hello, my name is \(name)")
    }

    // 初始化方法
    init(name: String = "hehe", age: Int = 21) {
        self.name = name
        self.age = age
    }
}

Swift class 中一定要有 init 方法吗?

不是的, 按照需求即可.

在上述例子中可以看到, class 是有一个 init 方法的, 这个方法的主要目的是为 name, age 赋值.

如果 name, age 不需要赋值, 则可以省去 init 方法.

Swift 中的 class 与 JS class 有什么区别

基本概念等是没有区别的, 主要区别就是:

  1. Swift 的初始化方法叫作 init, 在 JS 中叫作 constructor.
  2. Swift 中使用 self, 在 JS 中使用 this.
  3. Swift 实例化 class 的时候不加 new, 在 JS 中必须加 new.
let a = Person(age: 15)