Swift class(クラス)について
Swiftのクラスは、
・プロパティ(データ)
・メソッド(機能)
・イニシャライザ(初期化)
・デイニシャライザ(解放) を含むことができます
クラスは、classキーワードを使って定義する。
下記基本的なクラスの定義とインスタンス化()の例
※インスタンス化とは→クラスをもとにした実際の値としてのデータ)
インスタンス化↓
・クラス→インスタンス化 →インスタンス
・人形焼機→インスタンス化→人形焼(プレーン味・アンコ味・サルサ味・カレー味)※インスタンスに実際の味(値を与えて使用する)人形焼機はそのまま人形焼の形を保持し続けるので新作の紅ズワイガニ味を作成したい場合すぐに紅ズワイガニ味のインスタンスを作成できるということ。
classについての基本的な例です
class Person {
var name: String
var age : Int
init(name: String, age: Int) {
self.name = name
self.age = age
}
func greet() {
print("Hello、私の名前は\(name)私は、\(age)歳です。")
}
}
//クラスのインスタンス化
let person = Person(name:"Alice", age:30)
person.greet()
解説をしていきます
プロパティ
Personクラスを定義し、Personクラスのインスタンスプロパティnameとageを定義していますそれぞれ,StringとIntで定義されています。
※このインスタンスプロパティを使用してインスタンスを作成していきます。
↓
イニシャライザ
initでイニシャライザ(初期化)を設定しています。
※initはインスタンスが作成される際に呼び出され、プロパティnameとageを初期化します。
↓
メソッド
func greet()を定義出力をするために
↓
インスタンス化
//クラスのインスタンス化をします。
※initイニシャライザに合わせて引数を渡す必要がある。
let 変数名 = クラス名(引数名1: "引数値1", 引数名2: 引数値2)
let person = Person(name: "kumal",age:35)
※引数、引数値の型がイニシャライザと一致していれば、どんな値も入れられる
↓
personクラス内のgreetメソッドを呼び出している
"Hello、私の名前はAlice私は、30歳です。"
と出力される
Discussion