> スウィフト – クラス – ネットワークエンジニアチュートリアル

スウィフト – クラス

スポンサーリンク

無料でプログラマへ!30歳までなら無料でプログラミング学校に通うことが出来ます。下の画像をクリックして無料相談会でGO!


スウィフト – クラス


Swift 4のクラスは柔軟な構造の構築ブロックです。定数、変数、関数と同様に、ユーザーはクラスのプロパティとメソッドを定義できます。Swift 4では、クラスを宣言している間にユーザーがインターフェースや実装ファイルを作成する必要がないという機能が提供されています。Swift 4では、クラスを1つのファイルとして作成でき、クラスが初期化されると、デフォルトで外部インターフェイスが作成されます。

クラスを持つメリット


  • 継承はあるクラスのプロパティを別のクラスに取得します。
  • 型キャストにより、ユーザーは実行時にクラスの型をチェックできます
  • デイニタライザはメモリリソースを解放します
  • 参照カウントにより、クラスインスタンスは複数の参照を持つことができます

クラスと構造の共通の特性


  • プロパティは値を格納するために定義されています
  • 下付き文字は、値へのアクセスを提供するために定義されています
  • 機能を向上させるためにメソッドが初期化される
  • 初期状態は初期化子によって定義される
  • 機能はデフォルト値を超えて拡張されています
  • プロトコル機能標準の確認

構文


Class classname {
   Definition 1
   Definition 2
   --- 
   Definition N
}

クラス定義


class student {
   var studname: String
   var mark: Int 
   var mark2: Int 
}

インスタンスを作成するための構文

let studrecord = student()


class MarksStruct {
   var mark: Int
   init(mark: Int) {
      self.mark = mark
   }
}

class studentMarks {
   var mark = 300
}

let marks = studentMarks()
print("Mark is \(marks.mark)")

次の結果が得られます。

Mark is 300

参照型としてのクラスプロパティへのアクセス


クラスプロパティは ‘。’でアクセスできます。構文。プロパティ名は ‘。’で区切られます。インスタンス名の後ろに

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

クラス識別演算子


Swift 4のクラスは、複数の定数と1つのインスタンスを指す変数を参照します。特定のクラスインスタンスIDを指す定数および変数について知るために、演算子が使用される。クラスインスタンスは常に参照渡しされます。クラス内NSString、NSArray、NSDictionaryインスタンスは、コピーとしてではなく、既存のインスタンスへの参照として割り当てられ、渡されます。

演算子と同じ 演算子と同一ではない
使用された演算子は(===) 使用された演算子は(!==)
同じインスタンスを指す2つの定数または変数 異なるインスタンスを指す2つの定数または変数がtrueの場合、trueを返します。

 

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")

spClass1 === spClass2 // false
print("\(spClass1)")

spClass1 !== spClass2 // true
print("\(spClass2)")

次の結果が得られます。

main.SampleClass
main.SampleClass

前のページ 次のページ









スポンサーリンク

ネットワークエンジニアになりたければ下記から無料相談会に参加!
なんと無料で授業を受けれてエンジニアになれます

投稿日:2017-11-11 更新日:

執筆者: