Welkom terug.
We hebben geleerd dat we een echt attribuut voor de klas konden maken, maar hoe zit het met een methode?
Is er een manier om zoiets te doen als hier, wat we doen met attributen, maar voor methoden?
Wel, die is er.
En we gebruiken een decorateur, een onderwerp dat we later zullen behandelen.
En je zult zo meteen begrijpen hoe deze onder de motorkap werken.
Maar voor nu is de syntaxis die we gaan gebruiken de advertentiekant en dan noemen we een klassenmethode zoals deze.
En nu met deze decorateur, kunnen we nu een functie schrijven, laten we bijvoorbeeld een functie
maken en we noemen het dingen toevoegen die Namwon en verdoofd zullen maken.
En hier, oh, zorg ervoor dat we de definitie voor de functie hebben en hier geven we gewoon Namwon terug.
Plus nummer naar.
OK, dus wat doet deze klassenmethode?
Laat me dit minimaliseren zodat we een beetje beter kunnen zien.
Laten we eens kijken of speler één toegang heeft om dingen toe te voegen.
Dus laten we zeggen dat we dingen twee en drie toevoegen, als ik klik, rennen.
Neemt twee standpuntargumenten in, maar er werden er drie gegeven.
Hmm, dat is op regel 17, dus als we dit noemen, gaven we het aan parameters, maar toen verwachtte het, het zegt
dat we er eigenlijk drie hebben en dat komt omdat dingen toevoegen, de eerste parameter, net zoals
we hier hebben, is .
De klasse en klasse staan voor klasse, dus dit spelerpersonage, dat is de klasse waarnaar we verwijzen, zo vergelijkbaar met wat
we eerder hebben gezien, maar de standaard is om nu klasse te gebruiken als ik dit uitvoer.
Je zult zien dat we er vijf krijgen.
OK, maar als je dit bekijkt, lijkt het erop dat het vrijwel hetzelfde is als het bovenstaande, behalve dat we in
plaats van zelf schelpen te gebruiken, schelpen gebruiken.
Maar hoe is dit een klassenmethode?
Nou, het is omdat we dit echt kunnen gebruiken zonder zelfs maar een klasse te instantiëren.
Laat me je laten zien, laten we zeggen dat we speler één niet instantiëren, en nu roep ik hier gewoon
spelerpersonage DOT in om dit toe te voegen.
Als ik op uitvoeren klik.
Kijk eens aan, ik krijg er vijf.
Het is een methode op de eigenlijke klasse, het is een klassenmethode.
Je kunt dus een aantal interessante dingen doen, en trouwens, klassenmethoden worden niet zo vaak gebruikt.
Dus als je denkt, waarom hebben we dit eigenlijk nodig?
Nou, ik zou zeggen dat 95 procent van je klassen niet zoiets als een klassenmethode gaat gebruiken.
Maar er zijn gevallen waarin dit nuttig kan zijn.
We kunnen de klasse bijvoorbeeld gebruiken om hier een object te instantiëren.
Dus, bijvoorbeeld, ik kan die klasse zeggen, wat de klasse is, wat het personage van de speler is, en ik ga het
instantiëren, onthoud, net zoals we hier deden met de haakjes, met NUM één plus nummer twee
als de tweede parameter.
En we geven het de naam Teddy.
Als ik op 'ren hierheen' druk.
Kijk eens aan, ik heb een object gemaakt, Teddy, met de leeftijd van wat vijf jaar zou moeten zijn.
Dus laten we.
Pak aan.
Maak dit gelijk aan speler drie.
En als ik speler drie hier doe, punt h en ik klik op rennen.
Ik krijg er vijf, dus ik heb hier een hele nieuwe speler die is gemaakt met behulp van deze klassenmethode.
Dus ik was in staat om te creëren, net zoals ik een klasseobject heb gemaakt om een klassemethode toe te kennen die dit op de site
gebruikt.
Er is ook een andere manier om zoiets te doen, namelijk de statische methode.
En de statische methode werkt op exact dezelfde manier als hier, behalve.
Je hebt geen toegang tot deze les of de les.
Je kunt dus niet iets doen zoals we hierboven hebben gedaan.
In plaats daarvan voeren we gewoon een soort van methode uit.
Vind het leuk om dingen toe te voegen om dit leuk te vinden.
Dus het enige verschil tussen de twee is het idee dat we in onze parameters geen toegang hebben tot
deze klasse.
Dus we zouden zoiets als een statische methode gebruiken, waarbij we ons niets aantrekken van de klassestatus, een
klassestatus is zoiets als deze.
We geven eigenlijk niet om de attributen.
We gebruiken zoiets als een klassenmethode als we deze attributen belangrijk vinden en misschien willen we ze aanpassen
of veranderen.
Nu, deze klassenmethode en statische methode is iets dat je niet vaak zult zien, maar ik wilde het
je laten zien, alleen omdat je het misschien tegenkomt tijdens je Python-carrière, hopelijk was dit niet al te
verwarrend in de volgende video.
Ik wil terugkijken op wat we tot nu toe hebben geleerd.