PDA

Visualizza versione completa : [ALTRO] programmare ad oggetti


sergioz
09-08-2005, 18.52.47
Ho una discreta conoscenza teorica della programmazione ad oggetti quello che mi manca e' l' approccio pratico, mi indicate libri o risorse on-line che mi insegnino a strutturare un piccolo programma ?
Di solito i libri che trattano di OOP spiegano molto bene la fase teorica ma mancono completamente di qualcosa realizzato in pratica.
Ciao a tutti Sergioz

LoryOne
09-08-2005, 21.50.49
I concetti teorici sono indipendenti dalla realizzazione pratica che invece legata al linguaggio utilizzato per farne uso; ecco perch i libri che trattano la OOP non sono corredati da esempi pratici in pi non tutti i linguaggi si sono evoluti verso questo tipo di programmazione.

Se leggessi il codice di un programma scritto in C++ che facesse uso di OOP, riusciresti ad estrapolarne i concetti e ad implementarli in Delphi o VB ma la stesura del codice per ottenere gli stessi risultati risulterebbe diversa.

Prova a pensare alla fisica,alla chimica ed alla matematica.
Quale sarebbe l'oggetto base dal quale attingerebbero risorse gli altri due ?
Ognuno di questi oggetti poi suddivisibile in altri sottooggetti strutturati in modo gerarchico ed accessibili all'interno e/o all'esterno dell'oggetto che li contiene.

Quali concetti legati alla OOP sarei riuscito a "mettere in pratica" con questa sorta di esempio ? ;)

sergioz
10-08-2005, 10.02.58
Forse non ho capito o mi sono spiegato male in partenza,la struttura ad oggetti di un programma( prendiamo ad esempio la classica rubrica del telefono) dovrebbe essere indipendente dal linguaggio, poi l' implementazione la realizzi con le peculiarita' del linguaggio che usi o no!, i concetti di Incaspsulamento Ereditarieta' Poliformismo cambiano da linguaggio a linguaggio ? (se e' cosi' mi sparo) forse e' l' implementazione che cambia, dico io, se dico stupidaggini insultami pure,
quello che non capisco e' concepire gli oggetti che costituisco il programma.Prendo ad esempio la Rubrica,la faccio semplice per chiarezza,
Nome,Cognome,Indirizzi,NumeroTelefono, sulla rubrica eseguo le solite operazioni inserimento modifica ecc.. poi vorrei eseguire una stampa
della stessa.Quali oggetti costituirebbero il programma ?
Mi dirai,dipende dalle tue esigenti di riusabilita del codice, bene
vorrei riutilizzare il piu' possibile,come devo fare?
Ciao SergioZ

LoryOne
10-08-2005, 11.21.47
Ereditarieta' Poliformismo cambiano da linguaggio a linguaggio ? (se e' cosi' mi sparo) forse e' l' implementazione che cambia, dico io, se dico stupidaggini insultami pure,


Insultarti ?
Non ci penso neanche. Spero che tu non abbia frainteso e che la discussione continui (se vuoi) in modo amichevole ed in pieno rispetto delle regole vigenti in questo forum.


Ereditarieta' Poliformismo cambiano da linguaggio a linguaggio ?

No, quello che ho scritto in partenza e che riporto di seguito "I concetti teorici sono indipendenti dalla realizzazione pratica che invece legata al linguaggio utilizzato per farne uso".

Poi riporto quello che hai scritto tu:
"la struttura ad oggetti di un programma dovrebbe essere indipendente dal linguaggio, poi l' implementazione la realizzi con le peculiarita' del linguaggio che usi"
e confermo in pieno.

Per quanto riguarda la rubrica telefonica e la stampa di cio che stato inserito hai bisogno di implementare due oggetti: Il primo la gestione di un DB generico mentre il secondo la stampa generica di qualunque cosa tu voglia stampare.

Nel primo caso dovrai definire la struttura, la tipologia ed il riconoscimento dei campi di lettura/scrittura in modo completamente indipendente dal software che ne far uso.
In questo modo tu potrai utilizzare lo stesso oggetto per qualunque software atto a gestire qualunque tipo di dato.
Nel secondo caso dovrai pensare di utilizzare lo stesso oggetto per la stampa sia di testo sia di foto/disegni in modo da adottare lo stesso oggetto per qualunque tipo di software atto alla stampa di dati gestiti.

Va da se che il termine "generico" e quindi "multiuso" implica una conoscenza approfondita delle problematiche di implementazione del tuo oggetto legate alla teoria fondata sulla OOP.
A lato pratico fondamentale conoscere le metodologie di interfacciamento di tale oggetto nei linguaggi che adotterai per farne uso sebbene le funzioni (metodi, propriet, tipologie) , una volta riconosciute ed usufruibili, potranno essere richiamate con la seguente sintassi oggetto.funzione identica nella maggior parte dei casi durante la stesura del codice nei diversi linguaggi impiegati.

LoryOne
10-08-2005, 11.33.37
Per quanto riguarda la rubrica telefonica e la stampa di cio che stato inserito hai bisogno di implementare due oggetti: Il primo la gestione di un DB generico mentre il secondo la stampa generica di qualunque cosa tu voglia stampare.


Potresti dirmi: "io ti ho chiesto un programma di rubrica telefonica, non mi serve un oggetto generico di salvataggio dati !"
Io ti risponderei invece che nel pieno rispetto del'ottica della OOP la rubrica telefonica non altro che un applicativo che fa uso di oggetti e non l'oggetto stesso ;)

sergioz
10-08-2005, 11.53.34
Voleva essere una battuta :):) ,e' certo che la discussione e' amichevole!! ci mancherebbe; per piccole cose utilizzo gia moduli di classi(VB6) a cui assegno propieta' metodi e in taluni casi anche eventi e riutilizzo con profitto queste classi,pero' non riesco ad andare pui' in la', avrei bisogno di vedere al lato pratico come sviluppare un intero programma ,per le mie esigenze legato alle basi di dati,in stile OOP altrimenti mi rendo conto che per tante spiegazioni ricevo non riesco a capire, non e' che conosci libri che mi guidano passo-passo nella realizzazione, mi andrebbe bene come linguaggi VB5-6 o Java che stiamo cominciamo a studiare.Ciao SergioZ

osber
15-08-2005, 02.38.07
Dai fondamenti agli oggetti. Corso di programmazione Java di Giovanni Pighizzini e Mauro Ferrari (Adison-Wesley euro 35,-) un libro che mi ha aiutato molto, lo ho trovato molto chiaro per un primo approccio con un linguagio orientato agli oggeti. Forse ti puo essere utile.

Downloader
15-08-2005, 02.57.31
Originariamente inviato da osber
Dai fondamenti agli oggetti. Corso di programmazione Java di Giovanni Pighizzini e Mauro Ferrari (Adison-Wesley euro 35,-) un libro che mi ha aiutato molto, lo ho trovato molto chiaro per un primo approccio con un linguagio orientato agli oggeti. Forse ti puo essere utile.

Scusa, tratta per caso di thread, e di oggetti grafici come quelli di awt e swing??

osber
15-08-2005, 08.28.09
Downloader : "Dai fondamenti agli oggetti" un libro di base per passare dalla teoria alla pratica della OOP. Non tratta thread e grafica gi che questi sono considerati argomenti avanzati.