|
|||||
|
対象: クラス(Swift)クラスはclassキーワードで宣言する。クラスを書く場所には特に制限はない。例えば、ViewControllerクラスの後に続けて新しいクラスを書くこともできる。クラス名はアッパーキャメルケース(最初の単語の先頭は大文字、以降単語の先頭は大文字)、プロパティ名、及びメソッド名はロワーキャメルケース(最初の単語の先頭は小文字、以降単語の先頭は大文字)で記述する。
class SmartPhone {
var name: String // String型のプロパティ
var screenSize: Double // Double型のプロパティ
// イニシャライザ
init(name: String, screenSize: Double) {
self.name = name
self.screenSize = screenSize
}
// Stringを返すメソッド
func toString() -> String {
return "name: \(name) screenSize: \(screenSize)inch"
}
}
上記のように、基本的なプロパティについてはvar(letも使える)キーワードによる普通の変数宣言、基本的なメソッドについてはfuncキーワードによる普通の関数宣言と何ら変わりない。 他の言語で一般的にコンストラクタと呼ばれているものは、Swiftではイニシャライザと呼ぶ。イニシャライザはinitキーワードで宣言する。イニシャライザ(メソッドも)の引数とクラスのプロパティが同名の場合、selfキーワードによってクラスのプロパティを識別できる。 上記のSmartPhoneクラスのインスタンスを生成するには、そのクラスのイニシャライザを呼べば良い。以下はSmartPhoneクラスの2つのインスタンスを配列リテラルで生成している。
let list = [SmartPhone(name: "iPhone 5s", screenSize: 4.0), SmartPhone(name: "iPhone 6", screenSize: 4.7)]
for phone in list {
print(phone.toString())
}
このコードの実行結果は以下のようになる。 name: iPhone 5s screenSize: 4.0inch name: iPhone 6 screenSize: 4.7inch (2015/03/25) () Swift 2.0対応。
Copyright© 2004-2019 モバイル開発系(K) All rights reserved.
[Home]
|
|||||