Rozdíl mezi přetížením a přepsáním metody

Metoda Přetížení

Přetížení metody, také známé jako funkce přetížení funkcí nebo polymorfismus kompilace, je koncept, který má dvě nebo více metod se stejným názvem, ale odlišným podpisem ve stejném rozsahu. Tuto funkci podporuje mnoho programovacích jazyků: Ada, C ++, C #, D a Java.

Příklad přetížení metody v C #
Jak je uvedeno ve výše uvedeném příkladu, metoda 'Polygon' je přetížena třikrát různými podpisy metody, tj. Typ nebo počet parametrů jsou různé.

Přepsání metody

Metoda overriding, také známá jako Function overriding nebo Run time polymorfphism, je funkce OOP, která umožňuje podřízené třídě poskytovat vlastní implementaci metody definované v nadřazené třídě. Implementace v podřízené třídě přepíše definici metody v základní třídě za předpokladu, že metoda v podřízené třídě by měla mít stejný název, podpis a návratový typ.

Příklad přepsání metody v C #
Zde metoda kreslení ve třídě Source2 přepíše metodu kreslení definovanou ve třídě Source1.

Rozdíl mezi přetížením metody a potlačením metody

  1. Metody přetížení musí mít jiný podpis. V metodě musí mít převažující metody stejný podpis.
  2. Funkce Přetížení znamená „přidat“ nebo „rozšířit“ další chování metody. Převažující funkcí je zcela „změnit“ nebo „předefinovat“ chování metody.
  3. Přetížení metody se používá k dosažení polymorfismu kompilace; metoda overriding se používá k dosažení run-time polymorfismu.
  4. V metodě / funkci přetížení kompilátor ví, který objekt přiřazený ke které třídě v době kompilace, ale v metodě potlačení tato informace není známa až za běhu.
  5. Funkce Přetížení probíhá ve stejné třídě, zatímco přetečení probíhá ve třídě odvozené od základní třídy.
TO