V objektovo orientovanom programovaní hrá referencia na aktuálny objekt, často označovaná ako self, rozhodujúcu úlohu. Naučíš sa, ako efektívne využiť túto referenciu self na formovanie interakcie s triedami a objektmi v Python.

Najdôležitejšie zistenia

  • Referenciu self (self) je konvencia v Pythone, ktorá ti umožňuje pristupovať k vlastnostiam a metódam aktuálneho objektu.
  • self sa používa ako prvý parameter v inštančných metódach a odkazuje na konkrétny objekt, na ktorom bola metóda zavolaná.
  • Na objekty môžeš pristupovať aj z triednych metód, ak predáš objekt ako parameter.

Preskúmanie referencie self

Aby sme plne pochopili význam self, pozrime sa na jednoduchý príklad. Predpokladajme, že máš triedu Osoba.

Efektívne využitie self-referencie v Pythone

Ako náhle vytvoríš inštanciu tejto triedy, bude rezervovaná pamäť a objekt je pripravený na použitie. Tu premenná, ktorú používaš na inštanciu, odkazuje na priradenú oblasť pamäte.

Osobité je, že ak chceš pristupovať k vlastnostiam alebo metódam vo vnútri triedy, potrebuješ prístup k aktuálnemu objektu. Keďže pri definovaní triedy nevieš, ako sa objekt neskôr bude volať, self je spôsob, ako získať tento odkaz.

Ako teda používaš self.name, môžeš pristupovať k názvu osoby, ktorý bol uložený v inicializátore.

Praktický príklad – Trieda Auto

Teraz si vytvoríme praktický príklad. Vytvoríme triedu Auto, ktorá má značku a inicializátor.

Efektívne využitie samo-odkazovania v Pythone

V inicializátore sa parameter značka používa na nastavenie značky auta. Tu prichádza do hry self. Používa sa v metóde na priradenie prenesenej hodnoty inštančnej premennej.

Efektívne využitie self-referencie v Pythone

Teraz môžeš vytvoriť metódu get_značka, ktorá ti umožní pristupovať k značke auta. Parameter self sa automaticky prenesie, keď sa metóda zavolá.

Efektívne využitie self-referencie v Pythone

Ako náhle vytvoríš objekt triedy Auto, povedzme tesla, a pristupuješ k metóde get_značka, self bude odkazovať na konkrétny objekt, teda tesla.

Efektívne využitie self-referencie v Pythone

To znamená, že môžeš očakávať, že metóda get_značka vráti hodnotu, ktorá bola predtým nastavená.

Efektívne využitie self-referencie v Pythone

Taktiež môžeš zavolať metódu priamo cez triedu tým, že predáš objekt. Toto sa často nerobí, ale je to užitočné na pochopenie fungovania self.

Efektívne využitie self-referencie v Pythone

Je dôležité si uvedomiť, že štandardným spôsobom je zavolanie metódy cez objekt, nie cez triedu.

Zhrnutie – Ovládanie referencie self v Pythone

Referencia self je základný koncept v objektovo orientovanom programovaní s Pythonom. Umožňuje ti jednoduchý prístup k vlastnostiam a metódam tvojho objektu, ako vo vnútri, tak aj mimo funkcií a metód. Ak zvládneš používanie self vo svojich triedach, budeš schopný písať jasnejšie, funkčné a údržbovejšie triedy, a to ako vo vlastných projektoch, tak aj v rámci spoločných tímových projektov.

Často kladené otázky

Čo je self v Pythone?self je prvý parameter v inštančných metódach a odkazuje na aktuálny objekt.

Prečo je self dôležité?self umožňuje prístup k vlastnostiam a metódam aktuálneho objektu.

Môžem použiť self v triednej metóde?Áno, avšak je častejšie volať metódu cez objekt.

Akým spôsobom sa self prenáša?self sa automaticky prenáša ako prvý parameter do inštančných metód.

Čo sa stane, ak zabudnem na self v metóde?Ak zabudneš na self, nebudeš môcť pristupovať k inštančným premenným alebo metódam.