1
1
# 初期化\( Initialization\)
2
2
3
- 最終更新日: 2022/12/3
3
+ 最終更新日: 2023/09/20
4
4
原文: https://docs.swift.org/swift-book/LanguageGuide/Initialization.html
5
5
6
6
型に格納されたプロパティの初期値を設定し、一度きりのセットアップを実行します。
@@ -326,9 +326,9 @@ let centerRect = Rect(center: Point(x: 4.0, y: 4.0),
326
326
327
327
サブクラスがスーパークラスから継承する全てのプロパティを含む、クラスの全ての格納プロパティには、初期化中に初期値を割り当てる必要があります。
328
328
329
- Swift は、クラス型に対して 2 種類のイニシャライザを定義して、全ての格納プロパティが確実に初期値を受け取るようにします。これらは、_ 指定イニシャライザ_および _ covenience イニシャライザ_と呼ばれます。
329
+ Swift は、クラス型に対して 2 種類のイニシャライザを定義して、全ての格納プロパティが確実に初期値を受け取るようにします。これらは、_ 指定イニシャライザ_および _ convenience イニシャライザ_と呼ばれます。
330
330
331
- ### 指定イニシャライザとcovenience イニシャライザ\( Designated Initializers and Convenience Initializers\)
331
+ ### 指定イニシャライザとconvenience イニシャライザ\( Designated Initializers and Convenience Initializers\)
332
332
333
333
_ 指定イニシャライザ_は、クラスの主要なイニシャライザです。指定イニシャライザは、そのクラスで導入された全てのプロパティを完全に初期化し、適切なスーパークラスのイニシャライザを呼び出して、スーパークラスへチェーンして初期化プロセスを続行します。
334
334
@@ -340,7 +340,7 @@ convenience イニシャライザは二次的なもので、クラスのイニ
340
340
341
341
クラスで必要ない場合は、convenience イニシャライザを提供する必要はありません。共通の初期化パターンへのショートカットとして時間の節約になったり、初期化の意図をより明確にできる場合は、常に convenience イニシャライザを作成してください。
342
342
343
- ### 指定イニシャライザとcovenience イニシャライザの構文\( Syntax for Designated and Convenience Initializers\)
343
+ ### 指定イニシャライザとconvenience イニシャライザの構文\( Syntax for Designated and Convenience Initializers\)
344
344
345
345
クラスの指定イニシャライザは、値型のシンプルなイニシャライザと同じ方法で記述します:
346
346
@@ -350,7 +350,7 @@ init(<#parameters#>) {
350
350
}
351
351
```
352
352
353
- covenience イニシャライザは同じスタイルで記述できますが、` init ` キーワードの前にスペース区切りで ` covenience ` 修飾子を配置します:
353
+ convenience イニシャライザは同じスタイルで記述できますが、` init ` キーワードの前にスペース区切りで ` convenience ` 修飾子を配置します:
354
354
355
355
``` swift
356
356
convenience init (<#parameters#>) {
@@ -562,7 +562,7 @@ print("ホバーボード: \(hoverboard.description)")
562
562
> NOTE
563
563
> サブクラスは、ルール 2 を満たす方法の 1 つとして、スーパークラスの指定イニシャライザをサブクラスの convenience イニシャライザとして実装できます。
564
564
565
- ### 指定とcovenience イニシャライザの挙動\( Designated and Convenience Initializers in Action\)
565
+ ### 指定とconvenience イニシャライザの挙動\( Designated and Convenience Initializers in Action\)
566
566
567
567
次の例は、指定イニシャライザ、convenience イニシャライザ、および自動イニシャライザの継承の挙動を示しています。この例では、` Food ` 、` RecipeIngredient ` 、および ` ShoppingListItem ` という 3 つのクラスの階層を定義し、それらのイニシャライザがどのように相互作用するかを示しています。
568
568
0 commit comments