Thursday, September 24, 2020 00:53

Cuprins >> Programarea Orientată Pe Obiecte > Abstracția

Abstracția

Un alt principiu fundamental al Programării Orientate Obiect este abstracția. Abstracția se referă în principal la capacitatea de a folosi ceva fără să știm sau să fim interesați de modul în care acel ceva face ceea ce face. Facem acest lucru în fiecare zi: nu ne interesează cum face un computer tot ceea ce face (bine, de fapt, unii dintre noi o fac), ne pasă doar că este capabil să facă ceea ce avem nevoie de la el. Nu ne interesează cum funcționează electricitatea, cum este generată sau cum este implementată în pereți, ne pasă doar că putem aprinde lumina atunci când apăsăm un întrerupător.

Un beneficiu al abstractizării este modularitatea codului, așa-numita „cutie neagră”. Când terminăm un modul pentru logare, putem folosi abstractizarea pentru a-l face autosuficient. Nu trebuie să ne uităm în interiorul lui tot timpul, pentru a vedea cum funcționează, știm că funcționează și avem nevoie doar de acțiunea de logare, și putem efectua acea acțiune indiferent de modul folosit pentru autentificare. Când terminăm un modul pentru citirea sau scrierea fișierelor, putem folosi abstractizarea sub formă de „dispozitiv de stocare”, care ne permite să efectuăm acțiunea de citire și scriere a fișierelor indiferent dacă o facem pe un stick USB, un hard disk, etc.

Abstracția poate părea foarte asemănătoare cu încapsularea, dar nu este așa. Încapsularea este ascunderea datelor (ascunderea informațiilor, „nu trebuie să știți deloc acest lucru”), în timp ce abstractizarea este ascunderea detaliilor (ascunderea implementării, „nu trebuie să știți cum funcționează”).

Există trei avantaje principale ale abstractizării: în primul rând, lizibilitatea înțelegerii codului. Nu ne confruntăm cu detalii care nu ne preocupă, știm că tot ceea ce ajunge la noi a fost intenționat să fie folosit și nu trebuie să sapăm la nesfârșit prin cod până când înțelegem cum trebuie efectuată o acțiune. În al doilea rând, încurajează reutilizarea codului și evitarea duplicatelor de cod. În al treilea rând, conferă securitate, deoarece utilizatorii au dreptul să modifice doar lucrurile pe care ar trebui să le modifice.

Abstracția poate fi realizată în două moduri: fie folosind interfețe, dintre care vom învăța într-o lecție viitoare, fie prin clase și metode abstracte. Pe acestea le voi discuta în lecția următoare.

Comments

comments

Tags: , , ,

Leave a Reply



Do NOT follow this link or you will be banned from the site!