Разлика између преоптерећења метода и прегласавања

Метода Преоптерећење

Преоптерећење метода, познато и као преоптерећење функције или полиморфизам компилације времена, концепт је постојања две или више метода истог имена, али различитих потписа у истом обиму. Постоји много програмских језика који подржавају ову функцију: Ада, Ц ++, Ц #, Д и Јава.

Пример преоптерећења метода у Ц #
Као што је приказано у горњем примјеру, метода 'Полигон' се преоптерећује 3 пута различитим потписом методе, тј. Врста или број параметара су различити.

Прегласавање метода

Прегласавање метода, познато и као прекривање функција или полиморфизам покретања времена, је ООП функција која омогућава дечијем разреду да пружи сопствену имплементацију методи дефинисаној у родитељској класи. Имплементација у подређеној класи надјачава дефиницију методе у основној класи, под условом да метода у дечијој класи треба да има исти назив, потпис и тип повратка.

Пример прегласавања метода у Ц #
Овде метода извлачења у класи Соурце2 надјачава метод цртања дефинисан у класи Соурце1.

Разлика између преоптерећења метода и прегласавања метода

  1. У методама преоптерећења метода мора бити другачији потпис. У методи, превладавајући методи морају имати исти потпис.
  2. Функција Преоптерећење је да се „дода“ или „продужи“ више понашању методе. Поништавање функције је потпуно „променити“ или „редефинисати“ понашање методе.
  3. Метода преоптерећења користи се да би се постигао полиморфизам времена компилације; прегласавање метода користи се за постизање полиморфизма у току рада.
  4. У прекомерном преоптерећењу преводилац зна који је објект додељен тој класи у тренутку компилације, али у начину надјачавања ове информације нису познате до извршења.
  5. Функција Преоптерећење се одвија у истој класи док се прегласавање врши у класи која је изведена из основне класе.