Swiftのクラスの基本

クラスの書き方の基本形

基本的には、プロパティとイニシャライザとメソッドを記載したクラスを作成します。クラスを使うときは、インスタンス化して実行する感じです。

基本形・init()がある場合

必ずinit(イニシャライザ)が必要となり以下のような感じになります。 クラスのインスタンス化は つまりこんな感じ。 そして、 みたいな感じで使います。

init()に初期値を設定しておくパターン

init()で設定するプロパティが複数あるパターン

インスタンスを呼び出すときは、

init()が省略できるパターン

以下みたいにプロパティに初めから値が代入している場合はinitを省略できます。

クラスメソッド

クラスをインスタンス化せず直接使用できるようにします。 クラスメソッドのポイントは、プロパティがない場合は使えますが、プロパティがある場合は使えません。 具体的に書くと とすると、以下のようにインスタンス化せずに直接使えます。

クラスを書くところ

①ViewControllerに直接書くパターンと②別ファイルを作るパターンがあります。

ViewControllerに直接書くパターン

importclass ViewController:の間に書きます。

別ファイルを作成するパターン

iosSourceのswiftファイルを選択して、任意の名前.swiftしてください。
objectic-cの場合は、importで別ファイルを継承しなくてはならなかったのですが、 swiftでは、特に何もせず自動で使えます。
任意の名前.swiftの内容サンプルは下記のような感じになります。

クラスの拡張

ざっくりいうと、親クラスを直接増築しているイメージです。extensionを使います。

クラスの継承

親クラスはそのままの状態で残しておき、欲しい機能だけ子クラスが使わせてもらっているイメージです。
もし親クラスの前にfinalがついていたら、継承禁止されています。
例えば、

プロトコル

プロトコルで宣言・約束したメソッドを子クラスで必ず実装しなくてはなりません。