スイフトクラス
Swift クラスは、コードを構築するための一般的で柔軟な構造です。
クラスのプロパティ (定数、変数) とメソッドを定義できます。
他のプログラミング言語とは異なり、Swift ではカスタム クラス用に独立したインターフェイスと実装ファイルを作成する必要がありません。単一のファイルでクラスを定義するだけで、システムが他のコードへの外部インターフェイスを自動的に生成します。
クラスと構造体の比較
Swift のクラスと構造体には多くの共通点があります。共通点は次のとおりです:
値を保存するプロパティを定義する
機能を提供するメソッドを定義する
値にアクセスするためのアフィリエイトスクリプトを定義する
初期化値を生成するコンストラクターを定義する
デフォルト実装の機能を拡張することで拡張する
プロトコルに準拠して、特定のクラスに標準機能を提供する
構造体と比較して、クラスには次の追加機能があります:
継承により、あるクラスが別のクラスを継承する クラスの特性
型変換により、実行時にクラス インスタンスの型をチェックして解釈できるようになります
デストラクターを使用すると、クラス インスタンスが割り当てられているリソースを解放できるようになります
リファレンスカウントによりクラスが許可されます 複数の参照
構文:
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
Identity 演算子
クラスは参照型であるため、複数の定数と変数が存在する可能性があります。バックグラウンドと同時にクラスインスタンスへの参照。
2 つの定数または変数が同じクラス インスタンスを参照しているかどうかを判断するために、Swift には 2 つの組み込みの恒等演算子があります。 ===
2 つの定数または変数が同じクラス インスタンスを参照する場合、true を返します | 2 つの定数または変数が異なるクラス インスタンスを参照する場合、true を返します|
---|---|
上記のプログラム実行出力結果は: |