Wetenschap
Overerving is een fundamenteel concept in objectgeoriënteerde programmering (OOP) waarmee u nieuwe klassen (onderliggende klassen of subklassen) kunt maken op basis van bestaande klassen (ouderklassen of superklassen). Het bevordert herbruikbaarheid van code en helpt uw code op een hiërarchische manier te organiseren.
Voordelen van overerving:
* Code herbruikbaarheid: Vermijdt repetitieve code door eigenschappen en methoden van ouderklassen te erven.
* onderhoudbaarheid: Wijzigingen aangebracht in de ouderklasse reflecteren automatisch in zijn onderliggende klassen, waardoor het onderhoud wordt vereenvoudigd.
* Uitbreidbaarheid: Kinderklassen kunnen nieuwe functies en functionaliteiten toevoegen met behoud van de kernfunctionaliteit van de bovenliggende klasse.
* polymorfisme: Kinderklassen kunnen methoden teniet doen die zijn geërfd van de bovenliggende klasse, waardoor verschillende gedragingen voor dezelfde methode mogelijk zijn.
Soorten overerving:
1. Enkele erfenis: Een kindklasse erft slechts één ouderklasse. Dit is de eenvoudigste vorm van erfenis.
`` `Python
klasdier:
def __init __ (zelf, naam):
self.name =naam
def speak (zelf):
print ("generiek dierengeluid")
Klashond (dier):
def speak (zelf):
print ("Woof!")
Dog =Dog ("Buddy")
Dog.Speak () # Output:Woof!
`` `
2. Multi-level erfenis: Een kindklasse erft van een ouderklasse, die zelf erft van een andere ouderklasse.
`` `Python
klasdier:
def __init __ (zelf, naam):
self.name =naam
def speak (zelf):
print ("generiek dierengeluid")
Klasse zoogdier (dier):
def __init __ (zelf, naam, fur_color):
super () .__ init __ (naam)
self.fur_color =fur_color
def speak (zelf):
print ("zoogdiergeluid")
Class Dog (zoogdier):
def speak (zelf):
print ("Woof!")
Dog =Dog ("Buddy", "Brown")
Dog.Speak () # Output:Woof!
`` `
3. Hiërarchische erfenis: Meerdere onderliggende klassen overleven van dezelfde ouderklasse.
`` `Python
klasdier:
def __init __ (zelf, naam):
self.name =naam
def speak (zelf):
print ("generiek dierengeluid")
Klasse kat (dier):
def speak (zelf):
print ("miauw!")
Klashond (dier):
def speak (zelf):
print ("Woof!")
Cat =Cat ("Whiskers")
Dog =Dog ("Buddy")
Cat.Speak () # Output:Miauw!
Dog.Speak () # Output:Woof!
`` `
4. Meerdere erfenis: Een kinderklasse erft van meerdere ouderklassen.
`` `Python
Class Flyer:
def -vlieg (zelf):
print ("Flying ...")
Klaszwemmer:
Def Swim (Self):
print ("zwemmen ...")
Class Duck (flyer, zwemmer):
def kwak (zelf):
print ("Quack!")
eend =eend ()
Duck.Fly () # Output:Flying ...
Duck.Swim () # Output:zwemmen ...
Duck.quack () # Output:Quack!
`` `
5. Hybride overerving: Een combinatie van meerdere erfenistypen.
`` `Python
klasdier:
def __init __ (zelf, naam):
self.name =naam
Class Flyer:
def -vlieg (zelf):
print ("Flying ...")
Klasse vogel (dier, flyer):
def speak (zelf):
print ("Tweet!")
Bird =Bird ("Tweety")
bird.fly () # output:vliegen ...
Bird.Speak () # Uitvoer:Tweet!
`` `
Belangrijke punten om te onthouden:
* Overerving is een krachtig hulpmiddel voor codeorganisatie en hergebruik.
* Het is belangrijk om strategisch overerving te gebruiken, gezien de relatie tussen klassen en het gewenste gedrag.
* Hogerende methoden kunnen onderliggende klassen specialiseerd gedrag bieden voor geërfde methoden.
Deze voorbeelden tonen verschillende soorten overerving in Python. De concepten zijn echter van toepassing in verschillende programmeertalen met hun eigen syntaxis en conventies.
Welk type leven is het minst overvloedig in de moerasgemeenschap?
Ligplaatsen in de Noordelijke IJszee werpen licht op verlies van zee-ijs in de winter
Geneesmiddelen vormen een wereldwijd milieurisico, experts waarschuwen
Wat is terrestrische aanpassing?
Onderzoek naar klimaatverandering laat zien hoe steden prioriteit kunnen geven aan de volksgezondheid
Klimaatverandering aanpakken bij een belangrijke bron:gebouwen
Screening op macrocyclische peptiden
Algoritmen 22% nauwkeuriger in het voorspellen van uitkeringsafhankelijkheid
Welke schade werd aangericht door de uitbarsting van Soufriere Hills Volcano?
Het element kalium heeft een atoomnummer van 19 Dit betekent dat kalium?
Antidiefstalsticker beschermt uw waardevolle spullen zonder hun locatie te onthullen
Wat is de oorzaak van release -energie van sterren?
Waarom evolueer het organisme in de loop van de tijd? 
Wetenschap & Ontdekkingen © https://nl.scienceaq.com