Welkom terug.
Wat ik je niet heb verteld, is dat wanneer je opnieuw leert over objectgeoriënteerd
programmeren en niet alleen in Python, maar in elke programmeertaal die het OLP-paradigma ondersteunt, dit idee van vier pijlers
is van alle vier dingen die objectgeoriënteerd programmeren echt, echt doet goed.
En in feite hebben we de eerste geleerd, en dat is het idee van inkapseling.
Wat is inkapseling?
Inkapseling is het begin van gegevens en functies die die gegevens manipuleren en we kapselen in
één groot object in, zodat we alles in deze doos bewaren waarmee gebruikers of code of andere machines kunnen communiceren.
En deze gegevens en functies zijn wat we attributen en methoden noemen.
Rechts.
We zijn in staat om de functionaliteit van ons spelerspersonage in te kapselen door een naam en leeftijdsgegevens
of attributen te hebben en hebben ook functies die op deze naam en leeftijd kunnen reageren.
Dus ik kan bijvoorbeeld een methode hebben.
Hier staat dat schreeuwen.
Of spreek.
En deze spreekmethode kan nu de naam en leeftijd gebruiken, kan ik zeggen.
Mijn naam is Self Dodd-naam.
En ik ben.
Autodidact, acht jaar oud.
Zodat als ik speler één punt spreek.
En ik voer dit uit.
Mijn naam is André en ik ben 100 jaar oud.
Ik ben de functionaliteit aan het inkapselen, als ik deze klasse niet had, zou ik, nou ja, enkele variabelen en dan
twee functies hebben.
Maar door inkapseling te gebruiken, heb ik dit verpakt in een blauwdruk waarmee ik meerdere
objecten kan maken, zodat wanneer andere mensen mijn code zien, ze weten, hé, dit is een heel object waarmee ik kan communiceren.
Ik kan op bepaalde manieren gebruiken.
Dat spelerkarakter beschrijft en we hebben dit ook gezien in onze ingebouwde Python-gegevenstypen, toch.
Als ik een string maak.
Op deze manier heb ik, vanwege inkapseling, al deze functionaliteit tot mijn beschikking, al deze methoden waar ik toegang toe heb,
zodat als ik dat doe, laten we zeggen kapitaliseren, het al mijn sterke punten zal benutten.
Ik heb al deze functionaliteit ingekapseld voor mij om te gebruiken.
Waarom willen we nu gegevens en functies in attributen en methoden verpakken?
Nou, omdat dit ons extra kracht geeft, toch?
Als dit spelerpersonage bijvoorbeeld geen acties of methoden heeft en alleen attributen heeft.
In dat geval is dit een soort woordenboek, toch?
Het is een beetje nutteloos als ik speler één hier afdruk en op uitvoeren klik.
Ik heb dit spelerobject, maar ik heb toegang tot een naam als deze.
En ik heb ook toegang tot leeftijd.
Soortgelijk.
Maar ik kan er eigenlijk niets aan doen.
Ik zou hier hetzelfde woordenboek kunnen hebben, laten we zeggen dat de speler daarvan gelijk is
aan een woordenboek met de naam Andre en dan honderd jaar oud.
En het enige echte verschil tussen de twee is de manier waarop ik toegang krijg tot deze informatie in
plaats van de puntnotatie, ik gebruik de haakjesnotatie om toegang te krijgen tot de toetsen.
Zodat wanneer ik op uitvoeren klik.
Oh.
Ik moet ervoor zorgen dat ik dat ook doe, hier ook voor een speler, als ik op rennen klik.
Nogmaals, het is hetzelfde.
Natuurlijk kan ik het op deze manier doen, maar het is een beetje nutteloos, waarom
niet gewoon een woordenboek maken als ik alleen gegevens wil, maar op deze manier combineer ik dingen, verpak ik dingen in die
instanties, in die dozen die kunnen nuttig zijn en ook dingen die betekenis hebben.
Juist, want onze wereld zit vol met data en acties.
Rechts.
Zelfs een boom, bijvoorbeeld, als we een boomklasse in onze echte wereld hadden, zou de boom misschien hebben of
het een groenblijvende of een vaste plant was, hij zal hebben of hij een pacht heeft of doet, hoe lang hij is.
We hebben al die informatie, maar ook acties.
Rechts.
Ik kan een boom omhakken, de boom kan groeien, de boom kan zijn wortels verlengen.
Op deze manier zijn we in staat om na te bootsen wat er in de echte wereld gebeurt met onze jas.
Dus dat is inkapseling en we hebben het gezien.
Maar laten we het hebben over onze tweede pijler en de volgende video.