第21章 クラスにメソッドを追加してみよう


メソッドは、クラスの動作を規定します。すでにMainメソッドは何回も作っていますね。



最も簡単なメソッドは、引数も戻り値もとらないメソッドです。

void メソッド名()
{
    ...
}
クラスの中で定義するには、これにアクセス修飾子(private, public, protectedなど)がつきます。また、静的なメソッドにはstaticキーワードをつけます。呼び出し型はフィールドと同じです。
オブジェクト名.メソッド名();//(インスタンスメソッドの場合)
クラス名.メソッド名();//(静的メソッドの場合)
では、簡単な例を見てみましょう。
// method01.cs

using System;

class MyClass
{
    public void Show()
    {
        Console.WriteLine("Showメソッドが呼ばれました");
    }
}

class method01
{
    public static void Main()
    {
        MyClass mc = new MyClass();

        mc.Show();
    }
}
MyClassクラスのメンバは、インスタンスメソッドのShowメソッドのみです。インスタンスメンバなので呼び出すには、クラスのインスタンスを生成しなくてはいけません。

Mainメソッドでは、new演算子によりMyClassクラスのインスタンスmcを生成しています。そして、mc.Show();でShowメソッドを呼び出しています。

実行結果は次のようになります。



今度は、Showメソッドをpublicにして呼び出してみましょう。

// method02.cs

using System;

class MyClass
{
    public static void Show()
    {
        Console.WriteLine("Showメソッドが呼ばれました");
    }
}

class method02
{
    public static void Main()
    {
        MyClass.Show();
    }
}
staticなメンバは、クラス名.メンバ名で呼び出せるので、MyClass.Show()で呼び出しを行っています。

実行結果は次のようになります。



Mainメソッドのあるクラスにも、当然メソッドを追加することができます。

// method03.cs

using System;

class method03
{
    public static void Main()
    {
        method03 m3 = new method03();
        m3.Show1();

        Show2();
    }

    void Show1()
    {
        Console.WriteLine("Show1が呼び出されました");
    }

    static void Show2()
    {
        Console.WriteLine("Show2が呼び出されました");
    }
}

Show2メソッドは、自分自身のクラスにいるので、単にShow2();で呼び出すことができます。もちろんmethod03.Show2();としてもかまいません。

実行結果は次のようになります。




[C# Index] [総合Index] [Previous Chapter] [Next Chapter]

Update 27/Aug/2006 By Y.Kumei
当ホーム・ページの一部または全部を無断で複写、複製、 転載あるいはコンピュータ等のファイルに保存することを禁じます。