🫠

Swift initとは〜メモ

2024/05/16に公開

Swiftのinitとは、クラス、構造体、列挙型のインスタンスが作成されるとき呼び出される初期化(イニシャライザ)メソッドです。

主な役割
・プロパティの初期化
ストアドプロパティ(保存プロパティ)に初期値を設定する、これによりインスタンスが有効な状態で開始される。
・初期化設定
初期化の際に、必要な設定や準備を行う、デフォルトの値を設定したり、他のオブジェクトを生成したりする。

基本的な使い方

クラスの初期化での

class Person {
  var name: String
  var age : Int
  //initで初期化
 init(name: String,age: Int {
    self.name = name
    self.age  = age
)

func description() -> String {
  return "\(name) is \(age) years old"
  }
}

//インスタンス化
let person = Person(name: "Alice",age: 30)
print(person.description())

構造体の初期化

struct Point {
  var x: Int
  var y: Int

 //イニシャライザ(初期化)
 init(x:Int,y:Int) {
    self.x = x
    self.y = y
 }
 func descrption() -> String {
    return "Point at (\(x),\(y))"
  }
}
//インスタンス化
let poitn = Point(x: 10,y: 20)
pritn(point.description())

基本は同じ、ですが構造体とクラスには明確な違いがあるらしいので、イニシャライザ自体も意味合いが変わってくるのかもしれない、
クラスと構造体の違いについてにて↓

Discussion