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)
Cost: Gratis

Extras din document

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

Proiectarea Aplicatiilor de Comert Electronic - Aplicatie de Food-Ordering

Progresele realizate recent în domeniile tehnologie-calculatoare, telecomunicatii si software, precum si în alte domenii ale informatiei, au...

Folosirea MySQL și PHP în Gestionarea unei Baze de Date pe Web

Introducere Conţinutul lucrării este dat de construcţia de legături dintre World Wide Web şi baze de date, dintre tehnologia veche şi cea nouă,...

Functii Recursive - Turbo Pascal

CUVÂNT ÎNAINTE Acest proiect la informatica consta în prezentarea în limbajul de programare Turbo Pascal a unei probleme ce îsi propune sa...

Sisteme de Intrari Prelucrari si Iesiri a Datelor prin Intermediul a PHP si MYSQL

Introducere Proiectul de specialitate constituie un element obligatoriu al planului de învatamânt astfel, proiectul de specialitate reprezinta...

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...

Prelucrarea Imaginilor Digitale 1

Esantionarea si cuantificare sunt realizate de dispozitivele de achizitie a imaginilor. Acestea pot consta intr-un singur senzor care se misca...

Curs ASDN

1.1. Sisteme de numeratie - Sistemele numerice prelucrează informatie - Informatia este codificată ® un anumit tip de reprezentare - Sistemul...

Multiprocesoare

INTRODUCERE “Necesarul de simulări al Departamentului pentru Energie (DOE) al Statelor Unite depăşeşte cu mult capacitatea celor mai puternice...

Ai nevoie de altceva?