Razred

V preteklosti smo že uporabljali razrede kot so str, int, float (imenovali smo jih podatkovni tipi) in pa Turtle. Ustvarimo svoj lasten razred, imenovan Tocka.

Razmislimo o konceptu matematične točke. V ravnini točko predstavljata dve števili (koordinati), ki ju obravnavamo kot en predmet. Točke zapisujemo v oklepajih, z vejico, ki ločuje koordinati. Na primer (0, 0) predstavlja koordinatno izhodišče $O$, (4, 3) pa predstavlja točko $A$, ki je 4 enote desno in 3 enote nad koordinatnim izhodiščem.

Tipične operacije, ki jih povezujemo s točkami so računanje razdalje od točke do koordinatnega izhodišča ali do druge točke, računanje središča med dvema točkama, ugotavljanje ali leži točka znotraj danega pravokotnika ali kroga. Kmalu bomo videli, kako lahko te operacije organiziramo skupaj s podatki.

Naravna predstavitev točke je z dvema številskima vrednostima. Za delo s točkami bomo ustvarili razred Tocka, ki bo za vsako točko vseboval dve lastnosti x in y, ki predstavljata koordinati točke. Naš razred izgleda takole:

class Tocka:

  def __init__(self):
    self.x = 0
    self.y = 0


Definicije razredov so lahko kjerkoli v programu, vendar jih običajno postavimo na začetek programa (takoj za uvozom zunanjih knjižnic – stavki import).

Razred ima posebno metodo, ki se imenuje __init__. Ta metoda se samodejno izvede vsakokrat, ko se ustvari nov primerek objekta. V tej metodi nastavimo lastnosti objekta oziroma začetne vrednosti teh lastnosti. Parameter self označuje na novo ustvarjeni objekt, ki mu nastavljamo začetne vrednosti.

Uporabimo razred Tocka, ki smo ga ustvarili:

Izvedi Počisti



Gornji program izpiše:

(0, 0)
(0, 0)
saj smo med inicializacijo obema objektoma ustvarili lastnosti x in y ter ju nastavili na 0.