class MyClass {
// インスタンス変数
var varStoredValue = ""
var varComputedValue: String { return "" }
// インスタンス定数
let letStoredValue = ""
// let letComputedValue: String { return "" } // 宣言不可
// インスタンス・メソッド
func method() {}
// クラス変数
static var staticVarStoredValue = ""
static var staticVarComputedValue: String { return "" }
// class var classVarStoredValue = "" // 宣言不可
class var classVarComputedValue: String { return "" }
// クラス定数
static let classLetValue = "" // サブクラスでのオーバーライド不可
// static let staticLetComputedValue: String { return "" } // 宣言不可
// class let classLetStoredValue = "" // 宣言不可
// class let classLetComputedValue: String { return "" } // 宣言不可
// クラス・メソッド
static func staticMethod() {} // サブクラスでのオーバーライド不可
class func classMethod() {}
}
// -- Usage --
var myClass = MyClass()
// インスタンス
myClass.varStoredValue
myClass.varComputedValue
myClass.letStoredValue
myClass.method()
// クラス
MyClass.staticVarStoredValue
MyClass.staticVarComputedValue
MyClass.classVarComputedValue
MyClass.classLetValue
MyClass.staticMethod()
MyClass.classMethod()
★ クラス生成
class Sample {
required init() { }
class func create() -> Self {
return self.init()
}
}
var sample = Sample()
var sample = Sample.create()
★ Private
private class privateClass {
}
★ internal(Default)
internal class internalClass {
}
★ public
public class publicClass {
}