Verschil tussen methode-overbelasting en overschrijven

Methode Overbelasting
Overbelasting van de methode, ook bekend als Functieoverbelasting of Compileertijd polymorfisme, is een concept van twee of meer methoden met dezelfde naam maar met een andere handtekening in dezelfde scope. Er zijn veel programmeertalen die deze functie ondersteunen: Ada, C ++, C #, D en Java.

Voorbeeld van overbelasting van methode in C #

1234567891011121314 class OverloadShapes float Polygon (int radius, float pi) float circleArea = pi * radius * radius; int Polygoon (int lengte, int breedte) int rectangleArea = lengte * breedte; int Polygoon (int kant) int squareArea = zijkant * zijde;

Zoals in het bovenstaande voorbeeld wordt getoond, is de methode 'Polygoon' driemaal overladen met een andere handtekening, d.w.z. het type of het aantal parameters is anders.

Methode overschrijven
Methode-overschrijving, ook wel functie-overriding of runtime-polymorfisme genoemd, is een OOP-functie waarmee een onderliggende klasse zijn eigen implementatie kan bieden voor de methode die is gedefinieerd in de bovenliggende klasse. De implementatie in de onderliggende klasse overschrijft de definitie van de methode in de basisklasse, op voorwaarde dat de methode in de onderliggende klasse dezelfde naam, handtekening en retourneringstype heeft.

Voorbeeld van methode die wordt overschreven in C #

12345678910 class Source1 public void draw () Console.Writeline ("I am in class Source1"); class Source2 breidt Source1 uit public void draw () Console.Writeline ("I am in class Source2");

Hier heeft de trekkingsmethode in de klasse Source2 voorrang boven de tekenmethode die is gedefinieerd in de klasse Source1.

Verschil tussen overbelasting van methode en overschrijven van methode

  1. Methoden voor overbelasting van methoden moeten een andere handtekening hebben. In de methode moeten overschrijvende methoden dezelfde handtekening hebben.
  2. Functie Overbelasting is om meer toe te voegen of te "uitbreiden" naar het gedrag van de methode. Het opheffen van de functie is het volledig "veranderen" of "opnieuw definiëren" van het gedrag van een methode.
  3. Overbelasting van de methode wordt gebruikt om Compileertijd polymorfisme te bereiken; methode-overriding wordt gebruikt om run-time polymorfisme te bereiken.
  4. In de methode / functie overloading-compiler weet welk object aan welke klasse is toegewezen op het moment van compilatie, maar in de methode die deze informatie negeert, is pas na runtime bekend.
  5. Functie Overloading vindt plaats in dezelfde klasse terwijl het opheffen plaatsvindt in een klasse die is afgeleid van een basisklasse.
HET