2016-08-10 5 views

答えて

2

静的

あなたには、いくつかのデータを必要とするときは、新しいオブジェクトを割り当てることなく、静的メソッドやプロパティを使用して、静的の最も一般的な用途は、シングルトンデザインパターンや時にあなたには、いくつかのヘルパークラスを持っている可能性があります。 だから例えば、あなたが呼び出すことができる機能で:staticMethodから

let temp = Helper.staticMethod(); 

class Helper { 
    private let test1234 = false 

    private func privateMethod() { 

    } 

    private static func privateStaticMethod() -> Int { 
      return 0 
    } 

    static func staticMethod() -> Int { 
      self.privateMethod() // Error 
      self.test1234 // Error 
      self.test1234 // Error 
      Helper.privateStaticMethod() // OK 

      return 0 
    } 
} 

あなたはクラスの静的でないメソッドやプロパティHelper

にアクセスすることができません

最終

すべてのクラスをfinal宣言し、それらをサブクラス化する必要がある場合にだけ削除することをお勧めします。最終的なクラスをサブクラス化しようとすると、最終的にコンパイル時エラーが発生するので、きれいなコードを作成するリスクを伴わずにクリーンなアーキテクチャーを手に入れることができ、コードの可読性も向上します。

final class FinalClass { 
} 

class Sub1: FinalClass { 
} //Error 

class Base { 
} 

class SubBase: Base { 
} //OK 

プライベート

プライベートクラス/プロパティが範囲外見えません。 アーキテクチャにうまくカプセル化するのに役立ちます。

class A { 
    private let test = 1 
    let test2 = 1 

} 

let classA = A() 
classA.test //Error 
classA.test2 //OK 

は、私はより良い説明のためにスウィフトのドキュメントを読んでお勧め: https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Inheritance.html https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/AccessControl.html https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Methods.html

関連する問題