クラス

Swift

デイニシャライザの使い方

クラスと構造体はSwiftでは多くの共通点があります。一方、クラスにしかない特徴の一つとして、デイニシャライザがあります。デイニシャライザは、クラスのインスタンスが解放された時点ですぐに実行されるものです。実装は必須ではなく、書かなくても自...
Swift

finalの使い方

finalを使うことの意義はいくつかあります。クラスではプロパティやメソッドを継承をすることができますが、finalを指定することで、クラス同士の関係や意味をしっかりと保持したり、プログラム実行時の速度を上げることにつながったり ...
Swift

スタティックプロパティの使い方

構造体やクラスなど、型にはプロパティを持たせることができ、構造体やクラス自身が持つスタティックプロパティと呼びます。スタティックプロパティの使い方をMacbookAirをモデル化した例で見てみ ...
Swift

値型と参照型

値型と参照型。プログラミングをする上でよく出てくる言葉ですが、Swiftでもあります。まず値型。これはInt型やString型などで感覚的にもつかみやすいと思います。変数ごとにそれぞれ値を持ち、他の変数の値が変更されても影響を受けません。v...
Swift

オーバーライドのやり方

クラスを継承すると継承元の要素が引き継がれますが、中にはサブクラスで微妙に変えたいものもあったりします。そんな時には、サブクラスで再定義することができます。これをオーバーライドと言います。やり方は、オーバーライドしたい要素の先頭にoverr...
Swift

クラスの継承

クラスは継承をすることができます。継承をすると、元のクラスが持っていた要素が引き継がれ、継承元のクラス(スーパークラス)との差分を定義すればよいだけになります。(ちなみにSwiftではクラスの多重継承はできないようになっています。)書き方は...
Swift

クラスにメソッドを追加する

クラスにはメソッドを定義することができます。(クラスやインスタンスに紐づいた関数をメソッドと呼びます。)ホテルを例に作りました。class Reserver { let name: String var stay: Bool init(na...
Swift

クラスのインスタンスを作る

構造体と同じ書き方ですし、何も言われずに外から見ると、構造体もクラスも同じように見えます。class UserState { let name: String var stay: Bool init(name: String) { self...
Swift

クラスの定義

クラスの定義もカンタンです。class クラス名 { 定義}という感じで、構造体同様に変数や定数、関数を定義して行きます。// ホテルの利用者の状態を保持するクラスclass UserState { let name: String var...
Swift

クラスことはじめ

Swiftには、C++やJava、PythonやRubyなどの言語のようにクラスが備わっていて、オブジェクト指向でもあります。各オブジェクトはデータだけでなく、メソッドを持て、動作も記述することができます。Swiftの場合、イメージとしては...