2

私の友人の何人かは、OOP の基本概念について互いに議論しています。2 つの異なるクラスでオーバーロードは可能ですか?

私が理解しているように、オーバーロードは同じクラスでのみ実行できますが、異なるクラスになると、2 つの主な違いであるオーバーライドとして知られています。

私の理解は正確ですか?

4

2 に答える 2

3

オーバーロードとは、同じ名前のメソッドが複数あることを意味します。

それらの間に継承関係がある場合、オーバーロードが異なるクラスに存在する可能性があります。

オーバーライドとは、クラスに親クラスがあり、親クラスのものの代わりに明示的に使用したい基本クラスと同じシグネチャを持つメソッドを持つことを意味します。C# では、キーワードを使用してこれを示します。override

public class Base
{
  protected virtual void CanBeOverridden() {}

  public void ToOverload() {}

  // An overload of ToOverload in the Base class
  public void ToOverload(int param) {}
}

public class Child : Base
{
  // override
  protected override void CanBeOverridden() {}

  // An extra overload of ToOverload in the child class
  public void ToOverload(string param) {}
}
于 2013-01-06T11:50:34.360 に答える
1

さまざまなクラスでオーバーロードが可能です。

class Class1
{
    public void Function1(string param1);
}

class Class2 : Class1
{
    public void Function1(string param1, string param2);
}

function1 には 2 つのオプションがあります。

于 2013-01-06T11:52:56.957 に答える