Ce este clasa de șabloane în C ++?

Clasa de șabloane așa cum sugerează numele este un șablon pentru clase. C ++ ne oferă o modalitate prin care putem crea o clasă care va servi drept model / model pentru viitoarele clase. O clasă de șabloane va avea variabile generice și metode de tip „T” care pot fi ulterior personalizate pentru a fi utilizate cu diferite tipuri de date conform cerinței.

Definiție

Conform definiției standard, o clasă de șabloane în C ++ este o clasă care permite programatorului să funcționeze cu tipuri de date generice. Aceasta permite utilizarea clasei pe mai multe tipuri de date diferite, conform cerințelor, fără a fi nevoie să fie rescrisă pentru fiecare tip.

Înțelegerea clasei de șabloane în C ++

Dacă considerăm exemplul din lumea reală a clasei de șabloane pentru o mai bună înțelegere, putem considera acest lucru ca un model. Dacă un constructor imobiliar proiectează un orășel, el pregătește aspectul apartamentelor care includ specificațiile generice precum planul, amplasarea ușilor, ferestrelor etc. Acest model poate fi considerat a fi o clasă de șabloane care ne va oferi un aspect general idee despre cum va arăta un apartament dintr-o imagine mai mare. Acest lucru poate fi utilizat pentru a proiecta apartamente individuale care pot fi personalizate în funcție de preferințele proprietarului, care vor fi specifice apartamentului, dar șablonul generic va rămâne comun pe întregul oraș.

Clasa șablon funcționează pe linii similare. Dacă proiectăm o aplicație de întreprindere, aceasta va avea mai multe entități care vor reprezenta clasele. Fiecare clasă va avea proprietățile și metodele specifice. Cu toate acestea, poate fi proiectat un șablon care va reuși să insereze aceste entități în baza de date. Vom folosi acest exemplu în secțiunile următoare ale acestui articol. Dar dacă nu folosim clasa șablon, atunci va trebui să scriem clase individuale pentru operațiunile Creare, Recuperare, Actualizare, Ștergere. Cu toate acestea, prin utilizarea clasei de șabloane putem realiza această lucrare, scriind doar o singură clasă, reducând astfel foarte mult timp și eliminând posibilitatea unei mulțimi de coduri duplicate redundante.

Cum face Clasa de șabloane în C ++ să funcționeze atât de ușor?

Atunci când lucrează la o aplicație enterprise, de cele mai multe ori programatorii se confruntă cu un scenariu în care structura programului devine complicată pe măsură ce numărul de clase de model crește. Complexitatea devine suplimentară atunci când implementăm conceptele OOPS precum Moștenirea și Polimorfismul. În astfel de scenarii, clasele de șabloane vin foarte la îndemână în care puteți reduce liniile de cod pe care doriți să le scrieți pentru a efectua anumite operațiuni care vor rămâne identice în mai multe clase / entități.

Ce puteți face cu clasa de șabloane în C ++?

Utilizând clase de șabloane se poate reduce complexitatea codului prin definirea operațiunilor generice care trebuie efectuate într-o clasă de șabloane și se poate utiliza această clasă de șabloane cu mai multe tipuri de date pentru a obține rezultatele cerute.

De exemplu, dacă scriem un program de calculator care va avea metode care să ia 2 parametri de intrare, poate efectua adunarea, scăderea, înmulțirea și divizarea și ne poate returna rezultatul.

Să presupunem că cerința inițială a fost să dezvoltăm doar un astfel de program care să funcționeze cu numere naturale. În acest scop, ai scris doar o clasă cu șablonul de mai jos.

Calculatorul clasei:

(

public:

unsigned Add (nesemnat num1, nesemnat num2) ()

unsigned Sustragere (nesemnat num1, nesemnat num2) ()

unsigned Multiplic (nesemnat num1, nesemnat num2) ()

unsigned Divide (unsigned num1, unsigned num2) ()

);

Acum, cu modificarea cerinței, vi se cere să efectuați operațiuni similare pentru toate numerele întregi (negative și pozitive), precum și pentru tipurile zecimale (lung).

Cu clasa actuală, veți scrie două clase suplimentare sau veți edita această clasă pentru a adăuga funcții similare pe termen lung și în tipuri de date.

Cu toate acestea, dacă ar fi să folosim o clasă de șablon, vom defini doar o clasă de șablon care va funcționa pe tipul de date generice, iar tipul de date cu valoarea de retur și parametrii de intrare vor fi determinați pe baza dacă a trecut o variabilă nesemnată sau dacă sunteți trecerea unui tip de date lung sau int:

Format

Calculatorul clasei:
(

Public:

T Adăugați (T num1, T num2) ()

Tratează T (T num1, T num2) ()

T Înmulțiți (T num1, T num2) ()

T Împărțire (T num1, T num2) ()

);

Lucrul cu Clasa de șabloane în C ++

Din exemplul Calculator din secțiunea de mai sus, putem utiliza această clasă generică de Calculator în funcția noastră principală sau orice altă zonă a programului nostru cu diferite tipuri de date, ca mai jos:

Void main () (

Rezultat lung Lung = Calculator.Add (20, 7, 18, 2);

Int resultInt = Calculator.Add (10, -15);

Rezultat nesemnatUnsigned = Calculator.Add (10, 18);

)

Aici, tipul de date T definit în clasa generică va fi determinat pe baza tipului de date a parametrilor de intrare trecuți funcțiilor.

Avantajele clasei de șabloane în C ++

Avantajele majore ale utilizării claselor de șabloane sunt următoarele:

  1. Trebuie să definiți doar o clasă care să funcționeze cu diferite tipuri de date.
  2. În momentul compilării, instanțele acestei clase de șabloane sunt generate numai pentru acele tipuri de date pentru care a fost utilizată clasa șablon în program.

De exemplu, dacă în exemplul de mai sus folosim doar o clasă de șabloane cu tip de date int, atunci compilatorul va crea o instanță a numai tipului de date int, deci economisind spațiu care ar fi fost utilizat prin implementări de tipuri de date Long și Nesemnate dacă am fi scris clase individuale pentru fiecare.

  1. Așa cum am văzut deja, crearea și utilizarea unei clase de șabloane va reduce eforturile și liniile de cod pentru dezvoltare și va reduce, de asemenea, complexitatea și timpul de depanare a programului pentru orice probleme, deoarece lucrați doar cu o clasă.

Clasa de șabloane obligatorii în abilități C ++

Crearea și utilizarea claselor de șabloane este foarte simplă și nu necesită să aveți abilități avansate de programare în C ++. Tot ce trebuie să faceți este să analizați clasele care vor avea funcții comune și să creați o clasă de șabloane pentru toate.

De ce ar trebui să folosim o clasă de șabloane în C ++?

Ar trebui să încercăm întotdeauna să includem clase de șabloane în programele noastre atunci când lucrăm la o aplicație de întreprindere care se poate schimba și crește în viitor. Acest lucru ne va ajuta în viitor atunci când lucrăm la extinderea funcționalităților programului, atunci ne dăm seama că o mare parte a lucrării va fi deja gestionată de orele de șabloane și când aplicația devine complexă în perioada de timp, codul va rămâne compact și de înțeles pentru oricine este în căutarea programului.

De ce avem nevoie de o clasă de șabloane în C ++?

Clasa de șabloane funcționează ca un container care este foarte util atunci când mai multe clase vor îndeplini aceeași funcție într-un mod similar pentru diferite tipuri de date. Acest container va înfășura funcționalitatea într-o singură entitate care poate fi utilizată pentru diferite tipuri de date, conform cerințelor.

O altă utilizare obișnuită pentru clasa de șabloane poate fi atunci când căutați să implementați structuri de date precum o listă legată, stive, cozi pentru suportarea diferitelor tipuri de date. Aceste structuri de date vor urma aceeași abordare pentru push, pop și traversarea elementelor indiferent de tipul de date și, prin urmare, pot fi utilizate prin implementarea unei clase de șabloane.

Cum te va ajuta această tehnologie în creșterea carierei?

Deținerea unei cunoștințe bune și a unor concepte practice, cum ar fi o clasă de șabloane, este ceea ce te va separa ca programator pentru aplicarea întreprinderii de un program care a învățat să programeze și s-ar putea să nu se poată adapta imediat la o aplicație de întreprindere mare în modul cel mai optimizat.

Acest lucru vă va permite, de asemenea, să scrieți coduri cu o mai bună înțelegere și extensibilitate.

Concluzie

Când lucrăm și programăm în orice limbaj, scopul nostru ar trebui să fie întotdeauna să sprijinim reutilizarea codului nostru, făcându-l cât mai generic posibil, păstrându-l modular și compact. Clasele de șabloane sunt o modalitate excelentă de a realiza asta pentru clase cu funcții similare comune.

Articol recomandat

Acesta a fost un ghid pentru Ce este clasa de șabloane în C ++ ?. Aici am discutat despre Avantajele împreună cu nevoia clasei de șabloane în C ++. De asemenea, puteți consulta următoarele articole pentru a afla mai multe -

  1. Șablon în Java
  2. Șabloane Web HTML
  3. Ce este ExpressJS?
  4. Ce este testarea exploratorie?