back

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

■イニシャライザについて

ここまで、インスタンス作成はすべてHelo();というように引数なしで行ってきました。が、インスタンスを作成する際、必要な値などを引数として渡すことができればとても便利ですね。

こうした時に利用されるのが「イニシャライザ」です。これはインスタンスを作成する際に自動的に呼び出される、初期化処理専用のメソッドです。このイニシャライザは以下のように定義します。
init ( 引数 ){
    ……初期化処理……
}

func initと書く必要はありません。ただ、initだけでOKです。イニシャライザは特別なメソッドなので、funcで定義する必要はないんですね。

このinit()に引数を用意すれば、インスタンス作成時に値を渡すことができるようになります。簡単な例を下にあげておきましょう。

ここでは、Heloクラスの中にinit(#name:String)という形でイニシャライザを用意しています。これにより、インスタンス作成する際には、Helo(name:"Taro");というように引数を指定して書くようになります。

なお、このイニシャライザの中で、引数に渡された変数nameHeloクラスのnameプロパティに代入するのに、「self.name」という書き方をしていますね。この「self」は、インスタンス自身を示す特別な値です。このように記述することで、「このインスタンス自身のnameプロパティ」を指定していたのですね。クラス定義ではよく使うものですので、合わせて覚えておくようにしましょう。



(by. SYODA-Tuyano.)

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

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

import Cocoa

class Helo {
    var name:String;
    
    init(#name:String){
        self.name = name;
    }
    
    func say(){
        println("Hello, " + name + "!");
    }
}

var obj:Helo = Helo(name:"Taro");
obj.say();



 

記事のリストに戻る



PC Site G+ mail