[Python] costruzione dinamica di oggetti e sotto-oggetti

Giovanni Porcari giovanni.porcari a softwell.it
Lun 8 Lug 2013 08:42:44 CEST


Il giorno 08/lug/2013, alle ore 07:55, Riccardo mancuso <mancuso.riccardo63 a gmail.com> ha scritto:

> è esattamente questo che vorrei fare, appoggiandomi ad un DB per i
> dati specifici (marca, serie, modello, colore, prezzo, dimensioni,
> ecc.) relativi ad ogni singolo componente. Come devo impostare classi,
> metodi ed attributi ? Puoi farmi un esempio di codice scritto ?
> grazie,
> 
> Il 08 luglio 2013 01:29, Giovanni Porcari
> <giovanni.porcari a softwell.it> ha scritto:

A parte che dovresti rispondere 'sotto' e non sopra credo che per scrivere un qualcosa di usabile
il problema non sia tanto l'organizzazione delle classi quanto a come pensi di procedere con 
l'interfaccia utente.

Cioè, organizzare in memoria i dati è un punto importante ma rappresenta una piccolissima parte
del problema.
Come pensavi di procedere ?

G.


>>>>>> Rispondi sotto a questa linea: (:D)
------------------------------------------------------------------





>> 
>> Il giorno 07/lug/2013, alle ore 22:53, Riccardo mancuso <mancuso.riccardo63 a gmail.com> ha scritto:
>> 
>>> quello che vorrei fare è creare una serie di classi, da
>>> particolarizzare durante il runtime mediante le definizione dei loro
>>> attributi (colore, marca, ecc.). In modo da creare diverse
>>> "collezioni" di cucine, diverse tra loro sia nei componenti (lavelli,
>>> pensili, ecc) che negli attributi di ogni componente (colore, marca,
>>> ecc.). Come fare ?
>> 
>> A parte il fatto che rischi la fucilazione per aver sbagliato a quotare,
>> (lo so che sembra drammatica ma il fatto di quotare in modo errato è considerato
>> un delitto particolarmente efferato), a parte questo, dicevo, forse per il
>> tipo di problema descritto l'utilizzo di un database potrebbe essere più indicato.
>> 
>> Nel caso invece che tu davvero voglia rappresentare una cucina come una serie di oggetti,
>> allora la classe principale dovrebbe essere 'Cucina' e dovrebbe avere
>> assegnata ad esempio una piantina, ovvero la descrizione topologica.
>> Poi dovresti aver modo di chiedere il tipo mobile da aggiungere,
>> per ogni classe di mobile prevedere un metodo per richiedere i parameteri
>> al momento dell'instanziazione, e infine avere per la classe cucina
>> un metodo addMobile al quale passare l'oggetto mobile creato e magari
>> le coordinate della sua collocazione.
>> La classe Cucina potrebbe avere una listaMobili per collezionare
>> tutti i mobili via via aggiunti ed infine un metodo disegnaCucina
>> che sovrapponga alla pianta della cucina via via ogni mobile
>> posizionandolo alle sue coordinate.
>> 
>> Ma magari avevi in mente qualcosa di più semplice...
>> 
>> 
>> Ciao
>> 
>> G
>> 
>> 
>> 
>>> 
>>> Il 07 luglio 2013 21:06, Manlio Perillo <manlio.perillo a gmail.com> ha scritto:
>>>> -----BEGIN PGP SIGNED MESSAGE-----
>>>> Hash: SHA1
>>>> 
>>>> Il 07/07/2013 18:53, Riccardo mancuso ha scritto:
>>>>> ciao,
>>>>> mi scuso innanzitutto se non dovessi essere molto chiaro
>>>>> nell'obiettivo che vorrei raggiungere.
>>>>> Allora mi sto cimentando con le classi.
>>>>> Vorrei costruire delle classi, in modo che dinamicamente l'oggetto in
>>>>> questione diventi via via più completo.
>>>> 
>>>> Che intendi con dinamicamente?
>>>> Le classi le dichiari in modo statico, non a run-time.
>>>> 
>>>>> Faccio un esempio: supponiamo di avere una classe di nome "mobili" e
>>>>> di comporre una cucina:
>>>>> 
>>>>> class mobili():
>>>>>   pass
>>>>> 
>>>>> 
>>>>> class lavello():
>>>> 
>>>> Dovresti probabilmente derivare da mobili.
>>>> Ma così come hai fatto l'esempio non ha senso usare una classe per ogni
>>>> tipo di modiche, perchè la classe base non definisce nessuna interfaccia.
>>>> 
>>>> Cosa devi farci con queste classi?
>>>> 
>>>>> 
>>>>> Le classi sono indipendenti l'una dall'altra.
>>>>> Come faccio a comporre in modo che alla fine mi risulti una
>>>>> rappresentazione schematica della cucina ?
>>>> 
>>>> Quello che stavi facendo non andava bene?
>>>> 
>>>> 
>>>> Ciao  Manlio
>>>> -----BEGIN PGP SIGNATURE-----
>>>> Version: GnuPG v1.4.10 (GNU/Linux)
>>>> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
>>>> 
>>>> iEYEARECAAYFAlHZvCgACgkQscQJ24LbaUQOywCfZ800jWRNvmyZbXHfJa9bfyc+
>>>> nmEAn1k72MNzd6pJlK/ae9DDPnvqHEw2
>>>> =iDwM
>>>> -----END PGP SIGNATURE-----
>>>> _______________________________________________
>>>> Python mailing list
>>>> Python a lists.python.it
>>>> http://lists.python.it/mailman/listinfo/python
>>> _______________________________________________
>>> Python mailing list
>>> Python a lists.python.it
>>> http://lists.python.it/mailman/listinfo/python
>> 
>> _______________________________________________
>> Python mailing list
>> Python a lists.python.it
>> http://lists.python.it/mailman/listinfo/python
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> http://lists.python.it/mailman/listinfo/python



Maggiori informazioni sulla lista Python