„Klasi (forritun)“: Munur á milli breytinga
Efni eytt Efni bætt við
mEkkert breytingarágrip |
|||
Lína 1:
'''Klasi'''<ref name="tos">[http://tos.sky.is/tos/to/word/isl/2941/ '''klasi''' ''kk.'']</ref> er eining í [[Hlutbundin forritun|hlutbundinni]] [[forritun]] sem gegnir hlutverki sniðmáts.<ref name="tos"/> Klasi ákveðins [[Hlutur (tölvunarfræði)|hlutar]] lýsir eiginleikum og aðgerðum [[Tilvik (tölvunarfræði)|tilviks]] þess hlutar.<ref name="tos"/> Klasar brjóta [[forrit]] niður svo auðveldara sé að vinna með þau.
Ef við tökum bíl sem dæmi, þá gerum við klasa sem skilgreinir eigindi bílsins, eins og hurðir, dekk, lit og gerð. Eftir að við gerum klasann þá getum við gert eins mörg mismunandi tilvik af honum og við viljum. Við getum t.d. búið til tilvikið „einn grænn bíll með 4 hurðir, 15“ dekk“ eða „rauður bíll með 5 hurðir og 17“ dekk“.
Lína 11 ⟶ 10:
== Klasaskil ==
Klasi getur til dæmis séð um tengingu við [[gagnagrunnur|gagnagrunn]]. Þá nota aðrir klasar hann til að hafa samskipti við gagnagrunninn. Klasar geta haft samskipti sín á milli beint eða í gegnum [[skil]]. Skil eru notuð sem skilgreiningarhluti á klasa til að auðvelda samskipti milli forritunareininga innan forrits.
== Dæmi ==
Dæmi í [[Java (forritunarmál)|Java]]: Klasinn <code>Maður</code> og klasinn <code>KarlMaður</code> sem erfir klasann <code>Maður</code>. Það þýðir að kall í klasann <code>KarlMaður</code> getur nýtt aðferðir sem eru skilgreindar í klasanum <code>Maður</code>:
Lína 37 ⟶ 38:
Á sama hátt er hægt að láta skil erfa skil en skil geta ekki erft klasa og klasi getur ekki erft skil.
Dæmi um klasa í [[Python]]:
<source lang="python">
class Maður:
def __init__(sjálf, nafn, aldur):
sjálf.nafn = nafn.capitalize()
sjálf.aldur = aldur
def kynning(sjálf):
print("Komið sæl, ég heiti {0} og er {1} ára.".format(sjálf.nafn, sjálf.aldur))
Anna = Maður("anna", 26)
print("Nafn:", Anna.nafn) # Prentar „Aldur: 26“
print("Aldur:", Anna.aldur) # Prentar „Nafn: Anna“
Anna.kynning() # Prentar „Komið sæl, ég heiti Anna og er 26 ára.“
</source>
== Private, protected, og public ==
|