Réttast væri kannski að útskýra hugtakið fyrir honum áður en hann fær einhvern kóða framan í sig sem hann veit ekkert hvert fer eða hvar hann er, til hvers hann sé, af hverju hann sé, og fær svo að lokum ekki að vita hvað klasar (class) séu.
Til útskýringar mundi ég vilja benda á að klasar eru samansafn af breytum og föllum (eins og var nefnt fyrir ofan), sem skilgreindar eru innan svokallaðrar “klasa skilgreiningar”. Hlutverk þeirra er ávalt að hjúpa (encapsulate) virkni einhverra hluta. Þeas. að skilgreina viðmót notandans (forritarans) við einhvern hlut.
Klasar eiga að til dæmis að virka eins og bílar. Við kunnum að keyra bíla. Við notum til þess stýri, pedala og gírstöng og kunnum að nota þessa hluti svo bíllinn komist áfram, en við höfum ekki hugmynd um það hvernig hann virkar, og það besta er að við ÞURFUM ekki að vita hvernig hann virkar. Við ýtum pedalanum inn og þá fer hann áfram, samt vitum við ekkert um það hvað er í gangi undir húddinu.
Önnur nálgun á klasa, er til dæmis að segja að klasi sé eins og verkfræði-teikning af húsi. Það er allt skráð niður um hvernig húsið á að vera og út frá þessari teikningu getum við útbúið fullt af alveg eins húsum.
Nú skulum við taka dæmi, sem er nokkuð óbundið við forritunarmál, því flest hafa þau klasa en eru öll með sína skilgreiningu á þeim. Við skulum skrifa klasa fyrir vélmennið Robba.
class Robbi
{
aldur;
buinn_ad_klaeda_sig;
stadsetning;
KlaedaSig() {
buinn_ad_klaeda_sig = true;
}
KaupIMatinn() {
if (buinn_ad_klaeda_sig) {
LabbaUt();
if (aldur >= 17) {
Keyra(Bud);
Leggja();
} else {
TakaStraeto(110);
}
LabbaInnIBud();
FinnaMat();
Borga();
FaraHeim();
} else {
KlaedaSig();
}
}
FaraAdSofa() {
if (threyttur == true) {
if (stadsetning != heima) {
FaraHeim();
}
if (BuinnAdTannbursta != true) {
Tannbursta();
}
Sofna();
return true;
} else {
return false;
}
}
}
Þetta er náttúrulega dæmi sem virkar ekki, en ætti að gefa nokkuð góða mynd um það hvernig klasar eiga að virka… held ég..
Það er soldið erfitt að útskýra svona hugtak í einu litlu svari, svo að best er bara að reyna að læra það upp úr einhverri bók.<br><br><font color=“green”>kveðja</font>
-
<a href="
http://arnor.is-a-geek.com/">Arnór Heiðar Sigurðsson</a