この記事では「The Swift Programming Language」を1から読んだ感想とか発見を書いてみようと思います。
「The Swift Programming Language」とはSwiftの公式ドキュメントでiBooksや下ページで見る事ができます。
The Swift Programming Language (Swift 2.1): About Swift
読んだ所
今回はAccess Control
という項目を読みました。
The Swift Programming Language (Swift 2.1): Access Control
学んだこと
SwiftのAccess Control
Swiftで使えるのは下の3つです。
Public 全てのモジュールから使えるアクセス権限。
ライブラリを作る時はpublicにしないと本体アプリから使う事ができない。Internal 同じモジュール内からアクセスできる。
デフォルトのアクセスレベルPrivate 同じファイル内からアクセスできる。
同じクラスではなく同じファイル内。
アクセスレベルとオーバーライド
同じファイルに定義された場合に限りprivateメソッドをオーバーライドできます。
アクセスレベルをprivate以外にする事も可能です。
class A { private func method() {} } // BがAと別ファイルに定義されている場合はオーバーライドできない class B: A { override func method() {} }
セットはprivateでだけできるようにする
private(set)という修飾子を使えばプロパティーのセッターだけprivateにできます。
Arrayはappendメソッドも同じファイルからしか行えなくなります。
class A { private(set) var value = [String]() }