Programmazione ad oggetti e interfaccia

di il
4 risposte

Programmazione ad oggetti e interfaccia

Non so se è questa la sessione giusta, ma la mia domanda è: Qualcuno può consigliarmi un ottimo testo (con spiegazioni chiare ed esempi) su tutto ciò che c'è da sapere sulla programmazione ad oggetti in c++(ovviamente posseggo una buona conoscenza del linguaggio)?
Inoltre vorrei iniziare a creare i primi programmi ad interfaccia grafica (sempre in c++), quindi mi servirebbe un testo (o anche una guida online) che mi introduca a questo vastissimo mondo del quale so praticamente 0. Ho letto un qualcosa qui e li girando per i vari siti ed a quanto ho capito un ottima libreria grafica e la QT. Non so se sono stato chiaro, ma spero di ottenere le risposte che cerco. Grazie mille in anticipo.
Ps: per il momento uso il Devc++.

4 Risposte

  • Re: Programmazione ad oggetti e interfaccia

    Ciao,
    per prima cosa, disinstalla Devc++ e installa un ambiente di sviluppo tipo Code::Blocks o Eclipse.

    Fatto ciò, qualsiasi libro sul c++ tratta il paradigma ad oggetti, in maniera più o meno approfondita ma comunque sono tutti buoni per capire i principi di base e applicarli al linguaggio (tra l'altro, non capisco come puoi dire di avere una buona conoscenza del linguaggio se non conosci almeno le basi della programmazione ad oggetti; va bene che il c++ può essere usato anche col paradigma procedurale, ma in tal caso non puoi dire di conoscerlo bene).
    Ad esempio potrei consigliarti "C++ Fondamenti di programmazione" dei Deitel, che per iniziare è più che buono.

    Per quanto riguarda la grafica, non me ne intendo molto, comunque le QT vanno bene, così come le openGL (la scelta della libreria dipende anche dal tipo di grafica che vuoi realizzare). Ad ogni modo, prima di iniziare a creare interfacce grafiche ti serviranno basi solidissime di programmazione.

    ciao
  • Re: Programmazione ad oggetti e interfaccia

    Io a livello grafico ti consiglio visual c++, ci sono anche i tutorial di fcamuso su youtube, un prof d'informatica e inoltre sul suo canale trovi anche le classi...
  • Re: Programmazione ad oggetti e interfaccia

    Grazie mille =)
    Ps: Ovviamente so programmare ad oggetti, ma vorrei essere sicuro di conoscere tutto e proprio tutto ciò che c'è da sapere, altrimenti non posso inoltrarmi nel mondo delle interfacce =)
  • Re: Programmazione ad oggetti e interfaccia

    Per sapere tutto ma proprio tutto sulla programmazione ad oggetti ti servono anni!

    Perche' di serve un saaaaaaacco di esperienza.

    Cosa sai di design patterns? Cerca 'gang of four design patterns'.
    E questo e' solo il primo (e fondamentale, cioe' da conoscere praticamente a memoria ) di una lunga lista di testi sull'argomento

    Il concetto di interfaccia e' strettamente legato a quello di classe.
    E' solo una questione filosofica e di modellazione:

    Meglio una classe astratta o un'interfaccia?

    Se vai su Amazon e cerchi 'object oriented programming c++' trovi un sacco di riferimenti.
    Ad esempio C++ Primer non e' male: sono solo 1400 pagine

    La suddivisione di un'applicazione (complessa) in un'opportuno insieme di oggetti che interagiscono tra di loro, il tipo di interazione, il tipo di relazione tra gli oggetti (contenimento? collaborazione?), e' una delle parti piu' complesse della progettazione software: non e' facile nemmeno per chi ha n-mila anni di esperienza.

    Puoi ben immaginare che scrivere
    
    class C
    {
        int i;
    public:
        int get_i() const { return i; }
    }
    
    non vuol dire saper programmare ad oggetti!


    Per quanto riguarda l'interfaccia grafica, qui' la cosa diventa anche piu' complicata:

    ci sono diverse librerie in base al sistema operativo (linux, windows, mac).

    Ad esempio per windows ci sono le MFC, per Linux Gnome o Kde, per mac non so.
    Qt e' una libreria multipiattaforma.

    Sono tutte librerie parecchio complicate, con centinaia di classi, per ogni classe centinaia di metodi, con una complessa struttura gerarchica, che richiedono un tipo di programmazione basata su callback/messaggi (quindi non ad oggetti).
    Richiedono non solo una buona conoscenza del linguaggio, ma anche una buona conoscenza di design patters (il libro di prima).
    Nulla di trascendentale, ma comunque, prima di arrivare alle interfacce grafiche, devi avere una ragionevole padronanza del linguaggio. E questo vuol dire conoscere abbastanza bene le 1400 pagine di cui sopra

    A si, e tutto questo in inglese (scordati l'italiano )

    E lascia stare le guide online, cancella dalla mente il termine online.
    Se vuoi minimamente imparare qualcosa, fino a che non hai n-mila anni di esperienza (ma neanche in quel caso), c'e' solo una strada: libri, libri, ed ancora libri. Oppure, in alternativa, oggetti cartacei che si chiamano .... non mi ricordo ... a si: libri!
Devi accedere o registrarti per scrivere nel forum
4 risposte