Definizione dei dati di astrazione in C ++

September 23

Gli informatici creati C ++, un linguaggio di programmazione di sistemi, come estensione della lingua originale C sviluppato nel 1970. Mentre C ++ include tutte le funzionalità ot C, si aggiunge funzionalità object-oriented per la sua sintassi e le librerie. A causa di questo, C ++ i programmatori possono usufruire di paradigmi orientati agli oggetti, tra cui l'astrazione dei dati. Per capire che cosa l'astrazione dei dati è, il programmatore deve capire come classi e oggetti C ++ funzionano, e l'importanza di proteggere i dati sensibili dalla manipolazione.

Tipi di dati

In C ++, come in molte altre lingue, i programmatori che fare con le variabili che contengono alcuni tipi di dati. Questi tipi di dati possono variare da varie forme di numeri decimali e non decimali, ai caratteri e frasi. In C ++, il programmatore deve specificare il tipo di dati di una variabile terrà. Ad esempio, una variabile "x" che conterrà un numero intero deve essere dichiarato come una variabile intera, usando la parola "int". Tuttavia, poiché C ++ funziona in un modo orientato agli oggetti, i programmatori possono creare i propri tipi di dati. i tipi di dati del programmatore creati sono chiamati "oggetti", e possono rappresentare qualsiasi cosa, da liste di forme per le connessioni di rete.

Classi

Al fine di creare un oggetto, un programmatore deve innanzitutto definire come funziona quel tipo di dati. Lo fa attraverso la definizione di una "classe". La classe dice al computer che tipo di dati dell'oggetto conterrà. Ad esempio, il codice seguente definisce un oggetto "Circle", che conterrà informazioni su suo raggio (r):

classe Circle {
pubblico:
int r = 0; // Integer "r" rappresenta il raggio
};

Ora, ogni volta che un utente desidera utilizzare un oggetto per rappresentare un cerchio, si può dichiarare un oggetto del tipo di dati "Circle", nel seguente modo:

Circle C; // "Circle" è il tipo di dati

Eredità

Il programmatore può anche definire la classe Circle per calcolare il raggio, con l'aggiunta di una funzione membro. Questa funzione membro può effettuare qualche operazione in base ai dati all'interno di un oggetto, e restituire un risultato. Il seguente esempio estende la classe Circle aggiungendo una funzione "getArea ()" che restituisce un'approssimazione decimale dell'area del cerchio:

classe Circle {

int r = 0;

float getArea () {
tornare r r 3.14;
}
};

Circle C = new Circle ();
cr = 1;
cout << c.getArea (); // Stampe "3.14" allo schermo

dati Astrazione

La classe Circle rappresenta un tipo di dati astratta (ADT), che a sua volta rappresenta un oggetto reale nel mondo reale - come un cerchio o palla. Tuttavia, l'utente non ha bisogno di sapere come questa classe lavora per usarlo; solo che fa qualcosa. La funzione "getArea ()" è un buon esempio di questo: un utente della classe può utilizzare la funzione getArea () senza dover imparare il suo funzionamento, solo ciò che gli ingressi sono necessari e quali risultati aspettarsi. Questo è l'astrazione dei dati, ed è importante perché permette ai programmatori di utilizzare gli oggetti senza conoscere la loro struttura interna, rendendo più facile per loro di costruire il codice più complicato dalle classi già esistenti.