[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