LoginSignup
164
129

More than 5 years have passed since last update.

オーバーライドとオーバーロード間違えないために

Posted at

オーバーライドとオーバーロードは両方ともオーバーが付いているので間違いやすいワードかと思います。
間違えない覚え方を考えてみました。

覚え方

オーバーライド(override)

オーバーライドとは、スーパクラスから継承されたサブクラスにおいて、メンバ関数を独自の機能で上書きすることである。 オーバーライドは、オブジェクト指向における多態性(多様性、ポリモーフィズム)の例である。 なお、オーバーライドを可能にするには、引数の型、および、引数の数が同じでなければならない。
http://www.weblio.jp/content/オーバーライド

オーバー(上に) ライド(乗る=上書きする)
=>スーパークラスのメソッドを上書きする
と覚えるといいかも
C#でオーバーライドを使うときはこんな感じで書きます。

C#でのオーバーライド

public class Test
{
    public virtual void Method1 ()
    {
        Debug.Log ("111");
    }
}

public class Test2 : Test
{
    public override void Method1 ()
    {
        base.Method1 ();
        Debug.Log ("222");

    }
}

オーバーロード

オーバーロードとは、「引数や戻り値が異なるが名称が同一のメソッドを複数定義する」というオブジェクト指向プログラミングのテクニックである。
http://www.weblio.jp/content/Overload

オーバー(上に) ロード(読み込む)
=>メソッドを複数読み込む(上書きするわけじゃないから似たようなメソッドが沢山ある状態)
と覚えるといいかも

    public virtual void Method1 ()
    {
        Debug.Log ("111");
    }

    public void Method1 (int a)
    {
        Debug.Log ("a:" + a);
    }
164
129
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
164
129