プログラミングのルール
プログラミングでは{}でまとめること(グループ化させること)は、重要なルールのひとつです。これから扱っていく構造体も{}でまとめます。(グループ化させます)
構造体
構造体とはこれらを{}でグループ化させたもの
- 変数(プロパティ)
- 定数(プロパティ)
- 関数(メソッド)
注目
変数、定数、関数を構造体として{}でグループ化することができます。
構造体の中でつくられた変数はプロパティ、定数はプロパティ、関数はメソッドと今後呼び名が変わります。
構造体を扱えるようになる3つのレシピ
- ①構造体をつくる(グループ化)
- ②構造体をインスタンス化する
- ③構造体にアクセスする
インスタンス化
インスタンス化はアクセスの準備のことです。「ファイルを解凍」して実際に使えるようになるようなイメージです。
①構造体をつくる(グループ化)
struct 構造体名{
var プロパティ名:型名 = 値
let プロパティ名:型名 = 値
}
- struct 構造体名{}でグループ化します。
- 変数・定数を宣言するときと同じvar・letを使用しますが、このときの名前はプロパティ名と呼びます。
- 型名は型推論を使って省略することも可能です。
構造体をインスタンス化する
構造体名()
インスタンス化
- 構造体名()でインスタンス化します。
- 構造体名()でインスタンス化しますが、この状態ではアクセスの準備はまだ途中です。
- 変数に構造体名()を渡します。
変数に構造体名()を渡す
var 変数名 = 構造体名()
インスタンス化完了
- 変数名に構造体名()を渡し、アクセスの準備が完了しました。
- 変数名に構造体名()を渡しているので、変数名が「インスタンス」として振る舞います。
- 今後、この変数名をインスタンスと呼びます。
構造体にアクセスする
インスタンス.プロパティ名
プロパティへのアクセス
インスタンス.プロパティ名で構造体にアクセスすることができます。
インスタンスはあらかじめ渡しておいた変数名を指します。
プロパティを構造体でグループ化し、インスタンス化、アクセスしてみます。
struct Apple{
let kind = "ふじ"
let place = "長野"
}
var a = Apple()
print (a.kind)
print (a.place)
- structで構造体を作ります。
- 構造体名をApple{}にします。
- {}の中でプロパティ名「kind」と「place」を宣言します。
- var a = Apple()でインスタンス化が完了し、aがインスタンスになります。
- インスタンス.プロパティ名でアクセスできます。