クラス名 ( 引数 )コンストラクタは、「クラスと同名の返値のないメソッド」として定義されます。引数には、newする際に受け渡す値を指定します。これにより、「new ○○」としてインスタンスを作る際、必要な値を受け渡して初期化処理を行えるようになるわけです。
{
……略……
}
public Person(String name, int age)こんな形で定義されていますね。引数にStringとintの変数が用意されています。このPersonインスタンスを作成している部分を見てみると、こんな具合になっていることがわかります。
Person p = new Person("tuyano",123);引数を指定してnewするだけで、nameとageのフィールドが初期化されたインスタンスが作成できるというわけです。非常に便利ですね!
~クラス名 ()コンストラクタと同様、クラスと同じ名前の返値のないメソッドとして定義しますが、よく見ると名前の前に「~」という記号がついています。これがつくと、デストラクタになります。デストラクタは、コンストラクタのように引数は指定できません。まぁ、デストラクタはあまり用いられない機能ですが、コンストラクタとセットで使い方ぐらいは覚えておくと良いでしょう。
{
……略……
}
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
using System; namespace myapp { class Program { public static void Main(string[] args) { Person p = new Person("tuyano",123); p.print(); Console.ReadKey(); // キーを押すまで待つ } } public class Person { public string name; public int age; public Person(String name, int age) { this.name = name; this.age = age; } public void print() { Console.WriteLine("my name is " + name + ". I'm " + age + " old."); } } }
次へ >> |