Funcții și Clase Generice

Curs
9.3/10 (4 voturi)
Domeniu: Calculatoare
Conține 1 fișier: doc
Pagini : 9 în total
Cuvinte : 2416
Mărime: 17.80KB (arhivat)
Publicat de: Theodor Marginean
Puncte necesare: 0

Extras din curs

4. Functii generice.

Exista multe functii (si clase) înrudite între ele, cu exceptia unor tipuri. De exemplu o functie care sorteaza un tablou de întregi va diferi foarte putin de un algoritm de sortare a unui tablou de reali.

Mecanismul sabloanelor (templates) creaza functii sau clase generice (parametrizate) utilizând tipurile ca parametri. Un sablon defineste o familie de functii, respectiv de clase.Aceste tipuri se specifica la definire, în mod generic, urmând apoi instantierea tipurilor generice cu tipuri concrete.

Mecanismul reutilizeaza codul sursa, prin expandare, în conditiile verificarii complete a tipurilor.

O entitate template descrie un sablon pentru un numar nespecificat de entitati concrete, înrudite între ele.

De exemplu, pentru calculul diferentei în valoare absoluta a doua valori întregi, reale sau întregi lungi s-ar putea scrie o varietate de functii supraîncarcate, care ar avea acelasi cod, diferind doar semnatura (tipul parametrilor, nu si numarul lor).

.........

5. Clase generice.

Clasele colectii contin obiecte de un tip particular (de exemplu o lista înlantuita de întregi sau un tablou de structuri. Se pot defini familii de clase colectii, membrii acestora diferind numai prin tipul elementelor.

Consideram clasa tablou de întregi: pentru a folosi un tablou de reali, de complecsi sau de siruri de caractere s-ar putea copia implementarea clasei, modificând tipul datelor si numele clasei. Astfel am avea clasele intArray, StringArray, ComplexArray, etc.

Familia de clase poate fi reprezentata printr-o clasa generica (parametrizata). Aceasta specifica modul în care pot fi construite clasele individuale, care se deosebesc numai prin tipul elementelor pe care le contin.

Instantierea unui sablon reprezinta generarea declararii unei clase dintr-o clasa parametrizata si un argument generic.

O versiune a sablonului pentru un argument particular poarta numele de specializare.

Utilizarea unei clase generice presupune generarea de catre compilator a fiecarei clase individuale, corespunzator tipurilor care instantiaza clasa generica.

O clasa generica se reprezinta astfel:

template <lista_argumente_generice> declarare_clasa;

Instantierea unei clase generice se face prin:

nume_clasa <lista_argumente_concrete> nume_obiect;

Preview document

Funcții și Clase Generice - Pagina 1
Funcții și Clase Generice - Pagina 2
Funcții și Clase Generice - Pagina 3
Funcții și Clase Generice - Pagina 4
Funcții și Clase Generice - Pagina 5
Funcții și Clase Generice - Pagina 6
Funcții și Clase Generice - Pagina 7
Funcții și Clase Generice - Pagina 8
Funcții și Clase Generice - Pagina 9

Conținut arhivă zip

  • Functii si clase generice.doc

Alții au mai descărcat și

Baze de Date - Compania Carte 2009

„Cartea 2009” este o companie care se ocupa cu distributia de carte in Romania. „Cartea 2009” dispune de un lant de peste 300 de librarii situate...

AutoCad

APERTURE - controleazã mãrimea cursorului selector, caracteristic modului object snap. ARC - traseazã un arc de cerc de orice dimensiune. A -...

Biblioteca de Șabloane Standard

Biblioteca de Sabloane Standard (STL) asigura o abstractizare standardizata a datelor prin intermediul containerelor si o abstractizare procedurala...

Clase Derivate

1. Clase derivate. Prin mostenire, atributele unei clase de baza sunt transmise unor clase derivate. Derivarea permite definirea unor clase noi,...

Clase în Java

Clase pentru miniaplicatii Miniaplicatiile constituie extensii ale unei clase deja existente java.applet.Applet. Structura clasei unui applet...

Clase

1. Programare procedurala –Programare orientata pe obiecte. Limbajul C, ca si Pascal, utilizeaza modelul programarii structurate procedurale, care...

Comunicații internet

2.1. Stilurile caracterelor {n sfirsit pagina dvs. contine ceva, chiar daca este vorba numai de un nume. Vom analiza in continuare elementele de...

Crearea unei aplicații independente în Java

Toate aplicatiile Java contin o metoda main(), spre deosebire de miniaplicatii. class FirstApp { public static void main( String argsst) {...

Te-ar putea interesa și

Structura socială și familia

INTRODUCERE Relatiile sociale se formeazã pe baza interactiunii dintre indivizi, pe baza unor scopuri si interese individuale si sociale. Orice...

Integrarea Școlară

ARGUMENT Această lucrare vizează o mai bună integrare a copiilor cu tulburări de limbaj în mediul şcolar. Societatea şi în special comunitatea...

Aspecte generale privind semnăturile digitale

Introducere Problematica semnării digitale Înainte de a putea discuta despre semnătura digitală trebuie să explicăm noţiunea de semnătură şi...

Sisteme Informatice de Asistare a Activității unui Cabinet Veterinar

1. Decizie, decidenţi 1.1. Concepte de bază Domeniul teoriei deciziei se caracterizează prin existenţa mai multor concepte de bază. În continuare...

Studiu Privind Producerea Energiei Electrice cu Ajutorul Turbinelor Eoliene

Capitolul I. Energia eoliana 1.1. Consideraţii generale Întreaga civilizaţie actuală se bazează pe producerea ,transmiterea şi conversia energiei...

Poziția județului Sibiu în cadrul regiunii de centru

1.Caracteristicile generale ale judetului Pozitie geografica: Judetul Sibiu este situat in centrul Romaniei la rascrucea drumurilor comerciale...

Java

Java este o tehnologie inovatoare lansata de compania Sun Microsystems 1n 1995, care a avut un impact remarcabil asupra a1ntregii comunitatsi a...

Curs Programare C++

Cap 1. Reprezentarea informaţiilor 1.1 Reprezentarea numerelor întregi în sistemul binar Un număr natural se reprezintǎ ca o colecţie de cifre....

Ai nevoie de altceva?