Objective-C: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
OMT5500 (discussione | contributi)
Nessun oggetto della modifica
OMT5500 (discussione | contributi)
Nessun oggetto della modifica
Riga 591:
Il progetto e l'implementazione del [[C++]] e dell'Objective C rappresentano due diversi approcci all'estensione del C.
 
Oltre alla [[programmazione strutturata]] del C, C++ supporta direttamente la [[programmazione ad oggetti]], la programmazione generica e la [[metaprogrammazione]]. C++ è inoltre corredato di una estesa libreria standard che include numerose [[oggetto container (informatica)|classi container]]. L'Objective C, invece, aggiunge solo delle caratteristiche [[object-oriented]] al C; esso, nella sua versione più "pura" non offre lo stesso in termini di librerie standard, ma in molti contesti dove viene usato, viene corredato di una libreria sul modello di quella di [[OpenStep]], di [[Cocoa (informaticasoftware)|Cocoa]] o di [[GNUstep]] le quali forniscono funzionalità simili a quelle offerte dalla libreria standard di C++.
 
Un'altra notevole differenza consiste nel fatto che l'Objective C fornisce un maggior supporto run-time alla [[riflessione (informatica)|riflessione]] rispetto a C++. In Objective C si può interrogare un oggetto riguardo alle sue stesse proprietà, ad esempio se possa o meno rispondere ad un dato messaggio, mentre in C++ ciò è impossibile a meno di fare ricorso a librerie esterne. Comunque è possibile chiedere se due oggetti sono o meno dello stesso tipo (inclusi i tipi predefiniti) e se un oggetto è istanza di una data [[classe (informatica)|classe]] (o [[superclasse (informatica)|superclasse]]).