Se poate trece la capitolul următor cu tasta ► și se poate reveni la un capitol precedent cu tasta ◄

Ce sunt clasele în programare?


<

C
a
p
i
t
o
l
u
l

a
n
t
e
r
i
o
r

<

Ce sunt clasele?

Mintea umană intotdeaună caută varianta cea mai eficientă din punct de vedere energetic. Adică mereu caută să facă cât mai mult consumând cât mai puține resurse.

Acest fenomen poate să fie văzut și în gândire. Mintea umană mereu este în căutare de termeni prin care să înglobeze cât mai multă informație. Și aici ne lovim de conceptul de abstractizare. Un exemplu de abstractizare este „mașina”. Aceasta poate fi de-abstractizată definind-o ca: un sistem tehnic constând din piese ce funcționează coordonat, transformând o formă de energie în alta sau efectuând un lucru mecanic util, având patru roți și un număr variabil de uși. Și nimeni care să o conducă. Dar e mult mai eficient să spunem doar: „Am venit cu mașina”. Ne folosim de aceste simplificări pentru a exprima rapid imaginea pe care o avem în minte și pentru a merge mai departe. Asta e valabil atâta timp cât ambii interlocutori sunt familiari cu termenul folosit. Slabe șanse ca într-un trib african să poți vorbi despre mașini sau calculatoare și să fii înțeles.

Slabe șanse să găsești o persoană în țară care să înțeleagă semnficația cuvântului nex fără un dicționar.

Programarea, fiind dezvoltată de oameni, fără drept de apel, se supune regulilor de funcționare a minții umane. Și cum mințile umane au nevoie de abstractizare pentru a lucra eficient între ele, a apărut conceptul de clase în programare.

Din ce este formată o clasă?

Din punctul de vedere al structurii unei clase, ea este reprezentată de două elemente:

  • membri (proprietăți, câmpuri sau atribute) și
  • metode.

Membri sunt componente care reprezintă starea clasei sau, altfel spus, sunt atribute ale unei clase. Valori bătute în cui. Pot fi numere întregi sau reale dar pot fi și structuri mai complexe.

Iar metodele reprezintă acțiunile pe care un obiect poate să le facă.

De ce să folosim clase?

Totuși, dacă clasele sunt doar un concept care îmbină variabile și funcții, de ce nu se folosesc exact variabilele și funcțiile fără a ne complica cu astfel de concepte?

O clasă reprezintă în tot unitar. Desigur că se poate face un fișier care să încludă aceleași funcții și variabile ca apoi acest fișier doar să fie inclus în programul principal. Însă clasele condensează totul într-o singura entitate ceea ce face codul și logica mai accesibilă minții noastre.

În practică o clasă (o înșiruire de cuvinte specifice unui limbaj de programare) devine un obiect. E ca o variabilă obișnuită, dar se aseamănă cu o structură de date. Poți să-i accesezi (să citești și să scrii) atributele, poți să-i chemi metodele.

Să luăm conceptul de stea. Ea are:

  • niște coordonate în spațiu: x, y, z;

Și poate avea o metodă ca:

  • distanță(altăStea) - această metodă va calcula distanța de la {x, y, z} al stelei noastre la {altăStea.x, altăStea.y, altăStea.z}

Și din acest moment putem avea câte stele vrem, putând să le memorăm într-un șir. Iar fiecare element al șirului {stea1, stea2, stea3, ... steaN} va avea atributele x, y și z proprii și o metodă distanță.

Facil.

Unde sunt folosite clasele?

Folosirea Programării Orientată Obiect, și deci, a claselor este atât de extinsă în prezent încât unele limbaje de programare lucrează numai cu clase. Pe de altă parte dezvoltarea unei aplicații este de evitat a se face cu funcții sau proceduri. Putem spune că programarea procedurală este moartă și îngropată.

După cum ziceam, mintea umană lucrează cu obiecte concrete: casă, arbore, scaun, iar calculatorul lucrează numai cu valori numerice. Clasele ne oferă nouă, oamenilor, posibilitatea de a scrie programe care să lucreze cu entități pe care noi le putem înțelege instant și o dată ce câștigăm experiență va fi suficient să citim numele unei clase și deja să avem o idee ce atribute și metode conține.

Terminologie

Clasele sunt obiecte abstracte. Sunt o definiție precum definim o structură de date sau un tip de date. În momentul când vrem să lucrăm cu o clasă, o instanțiem. Creăm o instanță, o bucată, a unei clase. Ceea ce rezultă din instanțierea unei clase se numește obiect.

Un obiect este instanța unei clase. Sau, dintr-o clasă creăm un obiect. Acest obiect nu are o valoare propriu-zisă. El va conține atributele și metodele definite în clasă.

(Spre deosebire de variabile, pe care în general le declarăm și apoi le inițializăm)


>

C
a
p
i
t
o
l
u
l

u
r
m
ă
t
o
r

>

Ți-a fost de ajutor ce am scris aici?
Hei, mersi de răspuns.