Newsgroup: it.comp.lang.delphi
Titolo: Incapsulamento

È da un pò di tempo che il prof di informatica parla di incapsulamento.
Volevo sapere se è proprio importante "nascondere il codice" agli estranei
nello sviluppo di unit e classi nuove.
Lui sostiene che "più ci caliamo le mutande e più ce la mettono nel culo..."
Da 1 a 10 quanto giudicate importante questo argomento?
Diciamo che è un mio sondaggio per verificare se nella vita reale da
programmatore mi troverò di fronte a quanto sopra oppure come in molti casi
non avrò mai a che fare con l'argomento trattato (vedi derivate multiple a
45515464 incognite in matematica ma che nella vita reale non si trovano a
meno che non si diventi scienziati...).
Per piacere è importante.
Ciao

 meno che non si diventi scienziati...).
Mah secondo me e' importante. E' utilissima se il tuo codice lo usa
qualcun'altro (o tu usi codice altrui), perche' permette un accesso
controllato alle variabili di stato della classe (o unit), che spesso non
devono essere cambiate "a caso".
E' anche utile per semplificare in codice.. se la strutturi bene, una classe
puo' essere molto potente ma nonostante cio' restare molto semplice (vedi la
VCL).
Poi dipende ovviamente cosa devi fare.. nei progetti molto piccoli puoi
farne anche a meno.. In quelli grandi e' davvero molto utile.
Penso che un programmatore possa trarne grandi vantaggi anche se non
programma un calcolatore di derivate multiple :D
Ciao!                        {MSX}
--
{MSX}  -  
http://msx.rules.it
Mantenitore delle FAQ di it.comp.lang.delphi,
reperibili qui: 
http://gpi.infomedia.it/abc/delphi/FaqDelphi.txt

nello sviluppo di unit e classi nuove.
Si', e' importante. 
L'"information hiding" e' sempre stato un concetto
importante in informatica e per molto tempo lo si e'
rincorso in modo + o - difficoltoso.  Oggi l'OOP consente di
nascondere facilmente quelle informazioni che non devono
essere toccate.  Bada che l'incapsulamento serve a
mascherare le informazioni, perche' non vengano intaccate
*per sbaglio*, non serve a blindare i dati a tutti i costi,
come molti pensano.
Il concetto che sta dietro l'incapsulamento e' molto
semplice: se io ho un programma che utilizza due variabili A
e B e queste variabili vengono utilizzate in pezzi di codice
che non si intersecano, allora non c'e' nessun motivo di far
vedere B al codice che utilizza A (immagina che il codice
che utilizza A modifichi per sbaglio B, al posto di A) e
viceversa.  Serve, sostanzialmente, a riparare dai possibili
errori.
-- 
Andrea Laforgia (
walkie...@libero.it
)
"Usenet is a strange place" [Dennis Ritchie]

Da 1 a 10 quanto giudicate importante questo argomento?
se vuoi fare bene le cose 10 (alla delphi ;) )
altrimenti anke -1
non è necessario, ma moolto importante per prevenire bug (sia per chi
ha costruito l'oggetto e soprattutto per chi ne usa fatto da latri e
basta...)
a volte può essere noioso, ti servirebbe una proprietà che però
l'autore ha deciso (magari anche sbagliando) di nascodere....
in phyton ad es. ho saputo ciò non esiste, e la cosa viene risolta
semplicemente usando la convenzione che i metodi/proprietà nascosti
hanno l'underscore davanti....
soluzione poco elegante, ma + realista...
se ti serve lo usi con cautela, ma sei coscente che non dovresti farlo
:)
Ciao,
Alan Solo