Kapsulazioa (I): Zer da?

logo OPP min

Kapsulatzeak beste objektu batzuetan informazioa ezkutatzeko aukera ematen digu, objektu baten atributuak, eragiketak eta asoziazioak zein diren eta zein ezkutuan egongo diren zehaztuz.

Kapsulatzearen kontzeptua ulertzeko, lehenengo, mundu errealaren analogia bat ikusiko dugu, adibide honen bidez.

Gaixorik gaudenean eta pilula bat hartzea erabakitzen dugunean, erabiltzaile gisa interesatzen zaizkigun bi gauza bakarrak hauek dira:

  1. zer sendatzen duen pastilla horrek, eta
  2. nola ematen den (ahozkoa/ondestekoa, maiztasuna, kantitatea, etab.) ).

Hau da, pastilla erabiltzen dugu eta kito, ez gaitu kezkatzen zer osagairekin eginda dagoen. Badakigu pastilla urdina eztularena dela eta gorria tentsioarena, haren itxura ezagutzen dugu (interfazea/kanpoaldea), erabilgarritasuna eta emateko modua, baina ez dakigu zer osaera duen (hau da, barrualdea).

Objektuetara bideratutako programazioaren paradigman (OBP), hain zuzen ere, hau da kapsulazioa: klase bat erabiltzea oinarrizko dena jakinda hura erabili ahal izateko eta inplementazio-xehetasunak alde batera uzteko.

Beraz, klase bat pastilla edo kapsula gisa ikus dezakegu, eta hortik kapsulazio izena.

Ikuspegi formalago batetik, esan genezake kapsulatzea OBPren paradigman hau dela, abstrakzio-prozesu bati jarraituz, klase berean erlazionatuta dauden datu guztiak (hau da, atributuak) eta eragiketa/ekintza guztiak (hau da, metodoak) multzokatzea, non klasea berrerabiltzea eta xehetasunak (hau da, atributuak eta metodoak) ezkutatzea erraza izateko

Esan bezala, kapsulazioak OBPren beste ezaugarri batzuk ditu berekin, hala nola kodea berrerabiltzea eta atributuak eta metodoak ezkutatzea. Hurrengo sarreretan bi kontzeptu horiek ikusiko ditugu, eta arreta berezia jarriko diogu ezkutatzeari.

Utzi erantzun bat

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Aldatu )

Google photo

You are commenting using your Google account. Log Out /  Aldatu )

Twitter picture

You are commenting using your Twitter account. Log Out /  Aldatu )

Facebook photo

You are commenting using your Facebook account. Log Out /  Aldatu )

Connecting to %s