Python, bekend om zijn eenvoud en veelzijdigheid, stelt ontwikkelaars in staat schone en onderhoudbare code te schrijven. Een van de krachtige functies is overerving, waarmee subklassen kunnen worden gemaakt die eigenschappen en gedragingen van bovenliggende klassen overnemen. Subclassificatie maakt hergebruik van code mogelijk, bevordert de modulariteit en vergemakkelijkt de uitbreidbaarheid. In dit artikel gaan we dieper in op de basisprincipes van het maken van Python-subklassen, waarbij we verschillende aspecten onderzoeken met meerdere voorbeelden.
Wat is Python-subklasse?
In Python is een subklasse een klasse die attributen en methoden erft van een andere klasse, ook wel de superklasse of bovenliggende klasse genoemd. Wanneer u een subklasse maakt, kan deze de functionaliteit van de superklasse hergebruiken en uitbreiden. Hierdoor kunt u gespecialiseerde versies van bestaande klassen maken zonder dat u de gemeenschappelijke functionaliteit hoeft te herschrijven. Om een subklasse in Python , definieert u een nieuwe klasse en specificeert u de superklasse tussen haakjes achter de klassenaam.
Syntaxis :
klasse SubklasseNaam(BaseKlasseNaam):
# Klasseattributen en methoden voor de subklasse
#…
Hoe maak je een Python-subklasse?
Hieronder vindt u de stapsgewijze handleiding voor het maken van een Python Subklasse.
Voorbeeld 1: Een eenvoudige subklasse maken
Animal>is de basisklasse met a__init__>methode om dename>attribuut en eenmake_sound>methode (abstract in dit geval, omdat het geen specifieke implementatie heeft).Dog>is een onderklasseAnimal>die ervan erft. Het overschrijft demake_sound>methode om een specifieke implementatie voor honden te bieden.- Er worden instances van beide klassen gemaakt en we demonstreren hoe attributen en methoden toegankelijk zijn.
Python3
javascript trimmen
class> Animal:> >def> __init__(>self>, name):> >self>.name>=> name> >def> make_sound(>self>):> >pass> class> Dog(Animal):> >def> make_sound(>self>):> >return> 'Woof!'> # Creating instances> generic_animal>=> Animal(>'Generic Animal'>)> dog_instance>=> Dog(>'Buddy'>)> # Accessing attributes and methods> print>(generic_animal.name)># Output: Generic Animal> print>(dog_instance.name)># Output: Buddy> print>(dog_instance.make_sound())># Output: Woof!> |
>
hoe de ontwikkelaarsmodus te sluiten
>
Voorbeeld 2: Extra attributen toevoegen in de subklasse
Shape>is de basisklasse met een__init__>methode om decolor>attribuut en een samenvattingarea>methode.Circle>is een subklasse vanShape>dat breidt het uit door een toe te voegenradius>attribuut. Het roept de superklasse-constructor aan met behulp vansuper()>om het gemeenschappelijke attribuut te initialiseren.- De
area>methode wordt overschreven in deCircle>subklasse om een specifieke implementatie te bieden voor het berekenen van de oppervlakte van een cirkel. - Er worden instances van beide klassen gemaakt en we demonstreren hoe attributen en methoden toegankelijk zijn.
Python3
Java converteert tekenreeks naar geheel getal
class> Shape:> >def> __init__(>self>, color):> >self>.color>=> color> >def> area(>self>):> >pass> class> Circle(Shape):> >def> __init__(>self>, color, radius):> >super>().__init__(color)> >self>.radius>=> radius> >def> area(>self>):> >return> 3.14> *> self>.radius>*>*> 2> # Creating instances> generic_shape>=> Shape(>'Red'>)> circle_instance>=> Circle(>'Blue'>,>5>)> # Accessing attributes and methods> print>(generic_shape.color)> print>(circle_instance.color)> print>(circle_instance.radius)> print>(circle_instance.area())> |
>
>
Conclusie
Concluderend betekent het maken van een Python-subklasse het definiëren van een nieuwe klasse die attributen en methoden overneemt van een bestaande klasse, bekend als de basisklasse of superklasse. Subklassen kunnen de functionaliteit van de basisklasse uitbreiden of overschrijven, waardoor hergebruik en aanpassing van code mogelijk wordt. Door het gebruik van desuper()>functie kunnen subklassen de constructor van de superklasse aanroepen om gedeelde attributen te initialiseren.