Atšķirība starp metodes pārslodzi un ignorēšanu

Metodes pārslodze

Metodes pārslodze, kas pazīstama arī kā Funkciju pārslodze vai Sastādīšanas laika polimorfisms, ir jēdziens, ka divām vai vairāk metodēm ir vienāds nosaukums, bet atšķirīgs paraksts vienā un tajā pašā tvērumā. Ir daudzas programmēšanas valodas, kas atbalsta šo funkciju: Ada, C ++, C #, D un Java.

Metodes pārslodzes piemērs C #
Kā parādīts iepriekš minētajā piemērā, metode “Daudzstūris” 3 reizes tiek pārslogota ar atšķirīgu metodes parakstu, ti, tips vai parametru skaits ir atšķirīgs.

Metodes prioritāte

Metodes ignorēšana, kas pazīstama arī kā Funkcijas ignorēšana vai Darbības laika polimorfisms, ir OOP funkcija, kas ļauj bērnu klasei pašai nodrošināt vecāku klasē noteikto metodi. Īstenošana bērnu klasē ignorē metodes definīciju pamatklasē ar noteikumu, ka metodei bērnu klasē jābūt vienādam nosaukumam, parakstam un atgriešanās veidam..

Piemērs metodei, kas ignorē C #
Šeit izlozes metode Source2 klasē ir augstāka par izlozes metodi, kas definēta Source1 klasē.

Atšķirība starp metodes pārslodzi un metodes pārsniegšanu

  1. Metodē pārslodzes metodēm jābūt atšķirīgam parakstam. Metodē galvenajām metodēm jābūt ar tādu pašu parakstu.
  2. Funkcijas pārslodze ir “pievienot” vai “paplašināt” vairāk metodes uzvedībai. Funkcijas pārsvars ir pilnībā “mainīt” vai “no jauna definēt” metodes izturēšanos.
  3. Metodes pārslodze tiek izmantota, lai panāktu Sastādīšanas laika polimorfismu; metode tiek ignorēta, lai panāktu izpildes laika polimorfismu.
  4. Metodes / funkcijas pārslodzes gadījumā kompilators zina, kurš objekts kādai klasei tika piešķirts kompilācijas laikā, bet metodē šī informācija nav zināma līdz izpildlaikam..
  5. Funkciju pārslodze notiek tajā pašā klasē, turpretī pārslodze notiek klasē, kas atvasināta no bāzes klases.
IT