スウィフトクラス2024 年の最新の入門チュートリアル。このコースでは ボディタイプと構造比較,参照型クラスの属性として,恒等作用素, について学習できます。
スウィフトクラスは、一般的かつ柔軟な構造を構築するために使用するコードです。
私たちは、クラスのプロパティ(定数、変数)とメソッドを定義することができます。
他のプログラミング言語が異なっていると、スウィフトは、インタフェースと実装ファイルを分離するために、カスタムクラスを作成する必要はありません。 あなたはそれが単一のファイルにクラスを定義することであるしなければならない、システムが自動的に他の外部インターフェイス用のコードを生成します。
スウィフトクラスと構造は共通点が多いです。 一般的なのは、その次のとおりです。
構造と比較して、クラスには、次の追加機能を持っています。
Class classname { Definition 1 Definition 2 …… Definition N }
class student{ var studname: String var mark: Int var mark2: Int }
クラスをインスタンス化します。
let studrecord = student()
import Cocoa class MarksStruct { var mark: Int init(mark: Int) { self.mark = mark } } class studentMarks { var mark = 300 } let marks = studentMarks() print("成绩为 \(marks.mark)")
上記プログラム実行出力は、次のとおりです。
成绩为 300
クラスの属性を介してアクセスすることができます。 形式は次のとおりです。クラス名のプロパティ名をインスタンス化します。
import Cocoa class MarksStruct { var mark: Int init(mark: Int) { self.mark = mark } } class studentMarks { var mark1 = 300 var mark2 = 400 var mark3 = 900 } let marks = studentMarks() print("Mark1 is \(marks.mark1)") print("Mark2 is \(marks.mark2)") print("Mark3 is \(marks.mark3)")
上記プログラム実行出力は、次のとおりです。
Mark1 is 300 Mark2 is 400 Mark3 is 900
クラスは参照型であるため、同時にバックグラウンドでクラスインスタンスを参照する複数の定数及び変数があってもよいです。
2つの定数または変数は、同じクラスのインスタンスを参照しているかどうか決定するためには、スウィフトは、2つの同一の演算子を構築しました:
恒等作用素 | 同一でない演算子 |
---|---|
演算子は、次のとおりです。=== | 演算子は== :!です |
2つの定数または変数は、クラスのリターンの同じインスタンスを参照する場合はtrue | 二つの異なる定数または変数参照した場合、クラスのインスタンスは、trueを返します |
import Cocoa class SampleClass: Equatable { let myProperty: String init(s: String) { myProperty = s } } func ==(lhs: SampleClass, rhs: SampleClass) -> Bool { return lhs.myProperty == rhs.myProperty } let spClass1 = SampleClass(s: "Hello") let spClass2 = SampleClass(s: "Hello") if spClass1 === spClass2 {// false print("引用相同的类实例 \(spClass1)") } if spClass1 !== spClass2 {// true print("引用不相同的类实例 \(spClass2)") }
上記プログラム実行出力は、次のとおりです。
引用不相同的类实例 SampleClass