Python gedraagt zich als een volledig functionele objectgeoriënteerde programmeertaal ( OOP ) . Om de kracht van OOP benutten , moeten programmeurs begrijpen concepten zoals klassen en overerving . Met behulp van overerving betekent het bouwen van klassen die de functionaliteit van de meer fundamentele klassen als fundering te gebruiken . Deze praktijk biedt ook de mogelijkheid voor klassen hogere klassen methoden definiëren voor specifieke toepassingen . Klassen in Python Klassen werken als de blauwdrukken voor objecten , het definiëren van wat ze doen en hoe ze werken met andere objecten . Typisch , een klasse verklaring lijkt op dit voorbeeld : klasse MyClass : //class definition De definitie van de klasse is waar de programmeur legt uit wat de handelingen van een object kan doen , en welke informatie in zijn bezit. Een basismethode voor een klasse is de " init " -methode , die bepaalt wat er gebeurt als een object van de klasse wordt gemaakt : def __ init__ (self ) : self.x = 1 < br self.y > = 2 deze methode in de klas MyClass zal ervoor zorgen dat elke MyClass Object heeft een x -en y-waarde , gelijk aan 1 en 2 , respectievelijk . < br > afgeleide klassen Sommige klassen zullen vergelijkbare functionaliteit delen met andere klassen , maar breiden die functionaliteit . Bijvoorbeeld , neem een klasse " Ball " , die een voetbal ( in de code ) kunnen vertegenwoordigen. Nemen ook aan dat er een klasse ' Sphere ' , dat een eenvoudig gebied vertegenwoordigt en bevat de straal ( r ) en een methode om oppervlakte te berekenen ( Sarea ( ) ) . In dit geval is het enige verschil tussen de twee is dat class "bal " moet extra gegevens toe te nemen . Daarom, in plaats van het herschrijven van de code van " Sphere " in " Bal , " de programmeur ontleent net Bal van Sphere : klasse Bal ( Sphere ) : Nu , kan de klasse Bal toegang tot elke methode of gegevens van klasse Sphere ( r , Sarea ( ) ) , en gebruik het voor zichzelf ) . Dwingende Base Methoden De programmeur kan dan willen zorg ervoor dat elke Ball heeft een startprijs kleur langs de straal. Functie " init " The Sphere class ' ziet er als volgt uit: def __ init__ (zelf ) : self.r = 5 Dus elke Sphere object heeft een standaard radius van 5 . Klasse bal kan deze methode overschrijven door het definiëren van het in zijn eigen klasse . Dus " init " methode van de Ball's kan er zo uitzien : def __ init__ (zelf ) op Twitter : self.color = rood Dus nu de Ball's standaard kleur is rood . Opschakelen en gebruik van een Base methode Maar omdat Ball's " init " overschrijft de basisklasse " init , " de basisklasse " init " nooit uitgevoerd . Dit is noodzakelijk . Def __ init__ (zelf ) op Twitter : : Sphere.__init__ (zelf ) zelf in Python , kan de dwingende methode de methode wordt het dwingende als par van de uitvoering ervan te bellen . color = red Dit zorgt ervoor dat de basis initialisatie plaatsvindt , dat Ball heeft een straal en een kleur .
|