構成要素を持つ型 Part.2
構造体(struct)編
構造体(struct)とは,クラス同様同じような処理を集めた箱のようなものです!
classとstructの使い分け↓
アプリに新しいデータ型を追加するときに意味のあるオプションを選択するために、次の推奨事項を検討してください。
・基本的にはstructを使用する。
・Objective-Cの相互運用性が必要な場合は、classを使用する。
・データのIDを制御する必要がある場合は、classを使用する。
・継承をモデル化し共有するために、structとprotocolを使用する。
↑Apple参考
初期値なし
structはclassと同様インスタンスを作成してよびだします。structに初期値が設定されていない場合はインスタンス作成時に初期値を指定する!
サンプルプログラム1
//structの定義
struct VegetablesPrice {
var asparagus:Int;
var potato:Int;
var onion:Int;
var tomato:Int;
var paprika:Int;
}
//インスタンスを作成して初期値を指定する
let price = VegetablesPrice(asparagus: 100, potato: 150, onion: 190, tomato: 170, paprika: 160)
print("asparagus : (price.asparagus)")
print("potato : (price.potato)")
print("onion : (price.onion)")
print("tomato : (price.tomato)")
print("paprika : (price.paprika)")
実行結果:
asparagus:100
potato:150
onion:190
tomato:170
paprika:160
初期値あり
structに値が設定されてる場合は、インスタンス作成時に引数を指定しなくてよい!
サンプルプログラム2
//structの定義
struct VegetablesPrice {
var asparagus:100;
var potato:150;
var onion:190;
var tomato:170;
var paprika:160;
}
//インスタンスを作成
let price = VegetablesPrice();
print("asparagus : (price.asparagus)")
print("potato : (price.potato)")
print("onion : (price.onion)")
print("tomato : (price.tomato)")
print("paprika : (price.paprika)")
実行結果:
asparagus:100
potato:150
onion:190
tomato:170
paprika:160
構成要素を持つ型 Part.1 ↓