back

クラスの基本について (2/5)

■クラスを利用する

クラスを実際に使うためには、そのクラスを元に「インスタンス」を作成し、その中のプロパティやメソッドを利用する方法を理解しないといけません。

●インスタンスの作成
クラスからインスタンスを作るには、そのクラス名を関数のように呼び出すだけです。例えば、「Abc」というがあったとしたら、以下のようにしてインスタすを作ることができます。
var obj:Abc = Abc();

引数には通常、何も指定しません(インスタンス作成時に引数を用意することもできます。これはまた後で)。こんな具合に、クラス名の関数を呼び出す感覚でインスタンスを作成することができます。

●プロパティ/メソッドの呼び出し
プロパティやメソッドの呼び出しは、インスタンスを収めた変数の後にドットを付けてプロパティ名やメソッドの呼び出しを記述します。例えば、クラスAbcの中にefgというプロパティ、xyzというメソッドがあったとすると、こんな具合に利用することができます。
var obj:Abc = Abc();
var x = obj.efg; // efgの値を取り出す
obj.efg = 〇〇; // efgの値を変更する
obj.xyz(); // xyzを呼び出す

先ほどのHeloクラスを利用するサンプルを下に掲載しておきましょう。ここではHeloインスタンスを作ってsayでメッセージを表示しています。その後、インスタンスのnameプロパティを書き換えてまたsayを呼び出しています。

インスタンスを作ると、その中にクラスの中身がまるごと用意されます。ということは、複数のインスタンスを作った時は、それぞれのインスタンスごとに独立してプロパティなどが保存されていることになります。例えばこの例なら、インスタンスごとにnameの値は別々のものが設定できます。そうなれば、同じHeloクラスから作ったインスタンスなのに、sayで表示されるメッセージはインスタンスごとに違うものになったりするのですね。



(by. SYODA-Tuyano.)

※リストが表示されない場合

AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。

import Cocoa

class Helo {
    var name = "Taro";
    
    func say(){
        println("Hello, " + name + "!");
    }
}

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

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




   

記事のリストに戻る



PC Site G+ mail