対象: クラス(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]
|