Introductie tot overerving in C #

Overerving in C # is het proces van het verwerven van alle eigenschappen van de ene klasse in een andere klasse. Er zijn twee klassen die worden aangeduid als basisklasse en afgeleide klasse. De basisklasse is ook bekend als bovenliggende klasse en de eigenschappen of methoden van deze klasse willen we erven aan een andere klasse.

De afgeleide klasse staat bekend als onderliggende klasse die wordt gebruikt om de eigenschappen en methoden van de basisklasse of bovenliggende klasse te erven. Het helpt bij het opnieuw gebruiken van dezelfde code en het is niet nodig om dezelfde eigenschappen steeds opnieuw te definiëren.

Overerving is een van de krachtige concepten of fundamentele kenmerken van objectgeoriënteerde programmeertaal. Het wordt veel gebruikt in alle op OOP's gebaseerde programmeertaal. Het belangrijkste doel is om dezelfde code opnieuw te gebruiken. Het voorbeeld van de basisstructuur van overerving wordt hieronder gegeven:

class BaseClass ( )
class ChildClass: BaseClass ()

Soorten overerving in C #

Er zijn verschillende soorten overerving in C #:

1. Overerving op één niveau

In Single inheritance is er slechts één basisklasse en één afgeleide klasse. Het betekent dat de onderliggende klasse de eigenschappen van de bovenliggende klasse zal erven en gebruiken.

Voorbeeld:
class BaseClass
(
public void hello()
(
Console.WriteLine("Parent's Hello Method");
)
)
class ChildClass : BaseClass
(
public void World()
(
Console.WriteLine("Child's World Method");
)
)

2. Overerving op meerdere niveaus

Bij dit type overerving is er slechts één basisklasse en zijn er meerdere afgeleide klassen beschikbaar. Als een klasse wordt gemaakt met behulp van een andere afgeleide klasse, staat deze bekend als overerving op meerdere niveaus.

Voorbeeld:

class BaseClass
(
public void hello()
(
Console.WriteLine("Parent's Hello Method");
)
)
class ChildClass : BaseClass
(
public void World()
(
Console.WriteLine("Child's World Method");
)
)
class SecondChildClass : ChildClass
(
public void Hi()
(
)
)

3. Meerdere overerving

In dit type overerving kan dit worden bereikt met behulp van meerdere interfaces, niet met een klasse. In eenvoudige woorden, C # ondersteunt geen meerdere overervingen, maar als u dit wilt bereiken, kan dit alleen met behulp van interfaces worden bereikt.

Voorbeeld:

Interface A ()
Interface B ()
Class C: A, B ()

4. Hiërarchisch erfdeel

In dit type overerving is er één bovenliggende klasse en de andere afgeleide klassen erven dezelfde bovenliggende klasse om deze overerving te bereiken.

Voorbeeld :

class BaseClass
(
public void hello()
(
Console.WriteLine("Parent's Hello Method");
)
)
class ChildClass : BaseClass
(
public void World()
(
Console.WriteLine("Child's World Method");
)
)
class SecondChildClass : BaseClass
(
public void Hi()
(
)
)

Voordelen van overerving

De voordelen van overerving zijn:

  • Het helpt bij het opnieuw gebruiken van dezelfde code betekent herbruikbaarheid van code.
  • Het vermindert code-redundantie.
  • Het helpt bij het comfortabeler lezen van de code.
  • Het vermindert ook de grootte van de broncode en het bestand.
  • Het helpt bij het bieden van de uitbreidbaarheid van code.
  • De code is eenvoudig te beheren omdat deze is onderverdeeld in klassen van de basisklasse en de kindklasse.
  • Privéleden zijn niet toegankelijk in afgeleide klasse wanneer leden van de basisklasse worden overgenomen door de afgeleide klasse.
  • Het ondersteunt geen meerdere overerving, maar kan worden bereikt via interfaces.
  • Het helpt bij het bereiken van het polymorfisme waarmee een object meer dan één type kan vertegenwoordigen.
  • Het helpt bij het verdelen van de grote code in kleine stukjes.

Kenmerken van overerving

De kenmerken van Inheritance zijn:

  • Overerving kan worden gebruikt om de directe instantiatie van de klasse te voorkomen en om dit abstracte trefwoord te bereiken is gebruikt.
  • De leden van de basisklasse zijn toegankelijk in afgeleide klassen behalve voor private sleutelleden.
  • De leden van de basisklasse kunnen worden geërfd in afgeleide klasse behalve constructor en destructor.
  • In C # moeten de virtuele methoden van een basisklasse het trefwoord override gebruiken in de afgeleide klasse.
  • In C #, om de overerving van de klasse te voorkomen die met het verzegelde sleutelwoord kan worden verklaard.
  • Als de overgeërfde leden moeten worden verborgen met dezelfde naam en handtekening in de afgeleide klasse, moet die methode worden gedefinieerd met het nieuwe trefwoord.

Waarom overerving gebruiken en hoe het gemakkelijk wordt om te werken?

Overerving wordt gebruikt wanneer dezelfde code in een andere klasse moet worden gebruikt. Dus, in plaats van steeds opnieuw dezelfde code te schrijven, is er een concept van objectgeoriënteerd programmeren dat Overerving is dat helpt bij het gebruik van dezelfde functionaliteit zoals methoden of eigenschappen van een klasse naar een andere klasse. Met behulp van puntkomma (:) kunnen we de leden van de basisklasse overerven naar onderliggende klasse of afgeleide klasse.

Het is gemakkelijk om aan te werken omdat het helpt bij het voorkomen van de verwarring tussen het aanroepen van methoden vanuit welke klassemethode wordt aangeroepen. Het maakt de code herbruikbaar en maakt het bestand lichter in gewicht met minder aantal regels broncode. Dit maakt de code minder overbodig en flexibeler om in verschillende klassen te gebruiken. Het behoudt de structuur van het programma die helpt bij het gemakkelijk lezen van de code.

Conclusie - Overerving in C #

  • Overerving is het meest gebruikte concept van objectgeoriënteerd programmeren in alle op OOP's gebaseerde taal en zo ook in C #. Het helpt de ontwikkelaar om veel dingen te bereiken en maakt de code soepeler en leesbaarder.
  • Polymorfisme is het andere oeps-concept dat alleen met Inheritance kan worden bereikt. De meeste problemen zijn opgelost waarbij deze twee concepten hand in hand gingen.
  • In Inheritance zijn de basisklasse en de afgeleide klasse nauw met elkaar verbonden alsof er een wijziging in de basisklasse is, dan wordt automatisch alle kindklasse beïnvloed. Overerving moet zeer zorgvuldig worden gebruikt, alsof de gegevensleden niet correct worden gebruikt en het geheugen aan hen wordt toegewezen, dit de prestaties van de toepassing beïnvloedt.
  • Er zijn verschillende niveaus van overerving die worden gebruikt bij het programmeren of ontwikkelen van een toepassing. Het kan worden geïmplementeerd in elk type applicatie, zoals webgebaseerde of desktopgebaseerde applicaties. Het hangt af van de ontwikkelaar hoe en waar overerving moet worden gebruikt, omdat het veel flexibiliteit, functies biedt en helpt om de dingen te bereiken.

Aanbevolen artikelen

Dit is een leidraad geweest voor overerving in C #. Hier hebben we de introductie, types, voordelen en kenmerken van Inheritance in C # besproken. U kunt ook door onze andere voorgestelde artikelen gaan voor meer informatie-

  1. Overerving in VB.Net
  2. Wat is multithreading in C #?
  3. C # Commando's
  4. C # versus JavaScript
  5. Overerving in Java
  6. Methoden voor multithreading in C #