Swift 入門 | クラスの基本 | クラスの利用

クラスを実際に使うには、そのクラスを基にインスタンスを作成し、インスタンス内のプロパティとメソッドを利用する方法を理解する必要がある。

インスタンスの作成

クラスからインスタンスを作成するには、クラス名を関数のように呼び出す。たとえば、Abc というクラスがある場合は、次のようにインスタンスを作成できる。

var obj:Abc = Abc();

通常、引数には何も指定しない。インスタンスの作成時に引数を渡すこともできるが、これは後で説明する。このようにクラス名を関数のように呼び出してインスタンスを作成する。

プロパティとメソッドの呼び出し

プロパティとメソッドを利用するには、インスタンスを保持する変数の後にドット(.)を書き、続けてプロパティ名またはメソッド名を記述する。クラス Abcefg というプロパティと xyz というメソッドがある場合は、次のように使う。

var obj:Abc = Abc();
var x = obj.efg; // efg の値を取得する
obj.efg = 〇〇; // efg の値を変更する
obj.xyz(); // xyz を呼び出す

以前に紹介した Helo クラスを使う例を見てみよう。

import Cocoa

class Helo {
    var name = "Taro";

    func say(){
        print("Hello, " + name + "!");
    }
}

var obj:Helo = Helo();
obj.say();

obj.name = "Hanako";
obj.say();

ここでは Helo のインスタンスを作成し、say メソッドでメッセージを表示する。その後、インスタンスの name プロパティを変更して、もう一度 say を呼び出す。

インスタンスを作成すると、その中にクラスで定義した内容が用意される。複数のインスタンスを作成した場合、プロパティはインスタンスごとに独立して保存される。この例では、インスタンスごとに異なる name を設定できるため、say が表示するメッセージもインスタンスごとに変わる。