Crea sito

Home » Posts tagged 'metodi'

Tag Archives: metodi

La programmazione orientata agli oggetti

Object Oriented Programming

La programmazione orientata agli oggetti (OOP, Object Oriented Programming) è un paradigma di programmazione che prevede di raggruppare in un’unica entità (la classe descrizione astratta di un tipo di dato) sia le strutture dati che le procedure che operano su di esse, creando un oggetto (istanza della classe) software dotato di proprietà (dati) e metodi (procedure) che operano sui dati dell’oggetto stesso.
Nel linguaggio C++ è possibile scrivere programmi secondo uno stile di programmazione che può essere orientato agli oggetti.

La differenza tra classe e oggetto è la stessa che c’è tra tipo di dato e dato.

Si è detto che un oggetto è definito da:

  • attributi che rappresentano le sue caratteristiche e proprietà fisiche utili a definire il suo stato (variabili e costanti);

  • metodi che rappresentano i comportamenti ammissibili o le azioni, le proprietà dinamiche, cioè le funzionalità dell’oggetto stesso e chi usa l’oggetto può attivarli. I metodi vengono realizzati con le funzioni contenenti le istruzioni che implementano le azioni dell’oggetto e possono avere parametri e fornire valori di ritorno (funzioni e procedure).

Esempio

Prima di implementare un’applicazione occorre innanzitutto individuare il contesto nel quale si deve operare, per formalizzare il dominio applicativo. Si supponga di gestire i prodotti di un grande magazzino che vende elettrodomestici e che elenchi le caratteristiche e funzionalità di essi.  Formalizzando gli oggetti del dominio applicativo si ha un diagramma di classe (Class Diagram) che fornisce una notazione grafica per la formalizzazione delle classi e le relazioni che intercorrono tra di esse. Ad esempio:

Esempi vari:

Un linguaggio ad oggetti, per essere definito tale, deve supportare le proprietà di incapsulamento, information hiding, ereditarietà e polimorfismo.

La gestione delle stringhe

I comandi essenziali

#include <string> è la libreria per il riconoscimento delle stringhe e dei comandi per la gestione.
Esempio di dichiarazione di una stringa:
string nome, cognome, sesso, anni;
const char eta=12;
nome =’’Mario’’;
cognome = nome;
sesso = ’f’;
anni=eta;
è possibile inizializzare una variabile stringa all’inizializzazione
string saluto=”Salve”, saluto2=saluto;
non é possibile inizializzazione con caratteri o interi
string s=’c’;  oppure saluto1=3;
non é possibile andare a capo in un’assegnazione a costante stringa
string sbagliata=> “stringa veramente troppo,
                                lunga “;
cosí peró va bene…
string corretta=> “stringa veramente troppo, \n “
”lunga “;
\n –> si puó inserire il carattere ritorno carrello (o il tab).

OUTPUT DI STRINGHE
Una stringa si puó visualizzare inserendolo su uno stream di output
string saluto=”salve mondo!!”;
cout«saluto«endl;
Attenzione a inserire gli spazi….
string saluto=”salve”;
cout«saluto«”mondo”«endl;
pertanto la visualizzazione sarà ==>  “salvemondo”

INPUT DI STRINGHE
Si può usare l’operatore di estrazione da stream
string indirizzo;
cin » indirizzo;

la lettura ignora gli spazi iniziali e poi estrae tutti i caratteri fino ad uno spazio bianco. La quantità di memoria allocata viene automaticamente adattata.

La funzione getline fornisce un maggiore controllo (ad es. carattere terminatore della stringa)
L’istruzione cin, usata nell’esempio precedente per acquisire una stringa, presenta il problema che non acquisisce stringhe contenenti al proprio interno degli spazi. Per esempio volendo acquisire la stringa “Viale Ofanto 150” con cin>>indirizzo;
alla fine indirizzo conterrebbe solo “Viale” poiché l’acquisizione termina automaticamente in corrispondenza del primo spazio. Il problema può essere risolto in C++ usando la funzione getline nel seguente modo: getline(cin, indirizzo);

La sintassi è abbastanza semplice: getline(cin, nome_stringa_da_acquisire)
E’ importante non confondere la funzione getline con la cin.getline usata per acquisire stringhe rappresentate come vettori di char (cioè nel modo “tradizionale” del linguaggio C).

Nota: Potrebbero vericarsi anomalie nell’acquisizione di stringhe contestalizzate in variabili strutturate (array e/o matrici di stringhe), pertanto prima di acquisire la stringa con il comando di getline, si scrive la funzione fflush(stdin).

Metodi
Titolo: Metodi (0 click)
Etichetta:
Filename: metodi.pdf
Dimensione: 257 KB

Funzioni
Titolo: Funzioni (0 click)
Etichetta:
Filename: funzioni.pdf
Dimensione: 172 KB

Archivi

Gennaio: 2020
L M M G V S D
« Gen    
 12345
6789101112
13141516171819
20212223242526
2728293031