Configurazione del progetto
Fa parte della sezione Programmazione orientata agli oggetti del percorso C di Coddy. Lezione 22 di 61.
Sfida
FacileIniziamo a creare la tua libreria Bank Account! In questo primo passaggio, creerai l’interfaccia pubblica: il file header che definisce quali operazioni sono disponibili senza rivelare alcun dettaglio dell’implementazione.
Creerai due file per impostare le basi del progetto:
account.h: il tuo file header pubblico. È il file che gli utenti della tua libreria includeranno. Dichiara un tipo opacoAccountusando una dichiarazione di tipo incompleta: nessun corpo della struct, solo una dichiarazione anticipata che informa il compilatore dell’esistenza del tipo. Poi dichiara i prototipi delle funzionicreate_account(accetta un intero per l’ID dell’account e restituisce un puntatore a Account) edestroy_account(accetta un puntatore a Account e non restituisce nulla). Non dimenticare le guardie di inclusione usando il simboloACCOUNT_H.main.c: un semplice file di test per verificare che l’header venga compilato correttamente. Includi il tuo header e stampa un messaggio che confermi che l’interfaccia è pronta. Dato che non abbiamo ancora implementato le funzioni, stampa solo un messaggio di conferma: l’implementazione vera e propria arriverà nella prossima lezione.
L’idea chiave è che il tuo header rivela cosa può fare il modulo Account (creare e distruggere account) senza mostrare come memorizza i dati internamente. Chiunque includa account.h saprà che esiste un tipo Account e quali funzioni sono disponibili, ma non potrà accedere ad alcun campo interno, perché non ne hai definito nessuno nell’header!
Il tuo file principale dovrebbe produrre:
Account interface readyQuesto prepara il terreno per il sistema completo Bank Account che costruirai nelle prossime lezioni. Man mano che avanzerai nel progetto, l’header che crei ora verrà ampliato per includere deposit, withdraw e get_balance.
Provalo tu
#include <stdio.h>
#include "account.h"
int main() {
// TODO: Stampa un messaggio che confermi che l'interfaccia è pronta
// Il messaggio dovrebbe essere: "Account interface ready"
return 0;
}
Tutte le lezioni di Programmazione orientata agli oggetti
1Basi di programmazione modulare
File di intestazioneGuardie di inclusioneFile sorgenteFunzioni staticheRipasso: calcolatrice modulare4Incapsulamento
Il concetto di puntatori opachiDefinire struct opacheGetter e setterLa convalida nei setterRiepilogo: scatola segreta2Oggetti e metodi
Le struct come oggettiIl puntatore 'Self'Correttezza constPuntatore o valoreMetodi di supportoRiepilogo: gestore di punti5Progetto: Conto bancario semplice
Configurazione del progettoImplementazione del conto8Polimorfismo
Puntatori a funzione nelle structSimulare i metodiIl concetto di interfacciaImplementare le interfacceIterazione polimorficaRiepilogo: Greeter11Pattern di progettazione in C
Pattern SingletonPattern FactoryPattern IteratorRiepilogo: Factory di Logger3Ciclo di vita degli oggetti
Pattern del costruttorePattern del distruttoreInizializzazione sullo stackCopia profondaRiepilogo: wrapper di stringhe6Ereditarietà tramite composizione
Incorporamento delle structLa regola del primo membroAccesso ai membri della classe baseUpcastingRiepilogo: gerarchia di forme9Progetto: Disegnatore di forme
Panoramica del progettoImplementazione del cerchioImplementazione del rettangoloUtilizzo polimorficoContenitore di formeEsercitati da solo: Compilatore C online