Cerca nel sito:
ricerca
avanzata

Frasi Celebri...

Baci uguali non esistono: ogni bacio ha un suo sapore.

Anonimo 

Sondaggio:

Quale sistema operativo preferite?

Linux
Windows
DOS
MacOs
UNIX

visualizza risultati


 

Conclusioni

 

Template ed ereditarieta` sono strumenti assai diversi pur condividendo lo stesso fine: il riutilizzo di codice gia` sviluppato e testato. In effetti la programmazione orientata agli oggetti e la programmazione generica sono due diverse scuole di pensiero relative al modo di implementare il polimorfismo (quello della OOP e` detto polimorfismo per inclusione, quello della programmazione generica invece e` detto polimorfismo parametrico). Le conseguenze dei due approcci sono diverse e diversi sono i limiti e le possibilita` (ma si noti che tali differenze dipendono anche da come il linguaggio implementa le due tecniche). Tali differenze non sempre comunque pongono in antitesi i due strumenti: abbiamo visto qualche limite del polimorfismo della OOP nel C++ (ricordate il problema delle classi contenitore) e abbiamo visto il modo elegante in cui i template lo risolvono.

Anche i template hanno alcuni difetti (ad esempio quello dei vincoli impliciti, o il fatto che i template generano eseguibili molto piu grandi) che non troviamo nel polimorfismo della OOP. Tutto cio` in C++ ci permette da un lato di scegliero lo strumento che piu` si preferisce (e in particolare di scegliere tra un programma basato su OOP e uno su programmazione generica), e dall'altra parte di rimediare ai difetti dell'uno ricorrendo all'altro. Ovviamente saper mediare tra i due strumenti richiede molta pratica e una profonda conoscenza dei meccanismi che stanno alla loro base.

 

 

 

successivo
–«  INDICE  »–

 

 

 

 
Powered by paper&pencil (carta&matita ) - Copyright © 2001-2022 Cataldo Sasso