PDA

View Full Version : curiosità su override, oscuramento e occultamento


monkey72
25-11-2003, 13:24
sto leggendo un articolo sulla programmazione orientata agli oggetti con esempi implementati in VB .net e C#
parlando dell'override è introdotto l'oscuramento dei metodi in VB .net e l'occultamento in C#
ho programmato un pò in Java e non mi sembra che esistano tali 2 funzionalità e mi chiedevo se sono proprie rispettivamente del VB .net e C#

tnks,
monkey ;)

PGI
25-11-2003, 15:23
Ho sentito i due termini ma come sinonimi.

L'oscuramento/occultamento esiste in Java (e credo in tutti i linguaggi OOP).

&Ciao.

a2000
25-11-2003, 16:33
override, oscuramento e occultamento sono tutti termini in zona dove non batte il sole. :cool:

a2000
25-11-2003, 16:42
ah, dimenticavo l' overlapping

monkey72
26-11-2003, 00:12
Originariamente inviato da PGI
Ho sentito i due termini ma come sinonimi.

L'oscuramento/occultamento esiste in Java (e credo in tutti i linguaggi OOP).

&Ciao.
a quanto c'è scritto quì non sono sinonimi, rispettivamente nel primo caso il metodo che oscura può avere implementazione, livello di acccesso, tipo di ritorno e firma diversi, nel secondo caso la firma e il livello d'accesso sono gli stessi, possono variare gli altri...
x il Java c'è anche una parola chiave per dichiarare metodi di questo tipo?
grazie ;)

edit:
a2000 allora aveva ragione cionci circa il numero di visite dei miei 3d? :D

PGI
26-11-2003, 00:42
No, quelle due robe lì non ci sono.

Secondo quella definizione, in Java un metodo "oscurato" è un metodo diverso (perchè cambia la firma || segnatura, dio un giorno ci farà la grazia di uno standard anche per la lingua usata dai programmatori), il secondo è un metodo sovrascritto/overlapped/overridden/oscurato/occultato (ma chi costruì babele non aveva altro da fare?).

Se C# ha una o più parole chiave per ottenere l'occultamento&co. la versione Java del fenomeno (che, insisto, è dell'OOP in sè) è determinata dall'uso della stessa segnatura (nome+parametri) con due restrizioni: il tipo restituito deve essere uguale (pur non essendo significativo per l'identificazione del metodo) e l'accesso non può essere ridotto (un public non diventa private ma un private può diventare public e via dicendo).

Io ho un libro che dice che "occultamento" in Java si usa per i campi e "oscuramento" per i metodi (Horton, Java 2 SDK 1.4 2002). Sbaglierò ma per me mr. Horton dice una stupidaggine.

&Ciao.

a2000
26-11-2003, 09:57
Originariamente inviato da monkey72
...
edit:
a2000 allora aveva ragione cionci circa il numero di visite dei miei 3d? :D

(a parte l'overlapping) c'ho anche il ditino svelto: vedi tu ....

io riconsidererei la possibilità di un incontro ...

monkey72
26-11-2003, 10:28
Originariamente inviato da PGI
Se C# ha una o più parole chiave per ottenere l'occultamento&co. la versione Java del fenomeno (che, insisto, è dell'OOP in sè) è determinata dall'uso della stessa segnatura (nome+parametri) con due restrizioni: il tipo restituito deve essere uguale (pur non essendo significativo per l'identificazione del metodo) e l'accesso non può essere ridotto (un public non diventa private ma un private può diventare public e via dicendo).

Io ho un libro che dice che "occultamento" in Java si usa per i campi e "oscuramento" per i metodi (Horton, Java 2 SDK 1.4 2002). Sbaglierò ma per me mr. Horton dice una stupidaggine.

&Ciao.

boh... in effetti dal Thinking in Java


Any private methods in a class are implicitly final. Because you can’t access a private method, you can’t override it (even though the compiler doesn’t give an error message if you try to override it, you haven’t overridden the method, you’ve just created a new method).
sembra dire che basti che il metodo di cui si sta facendo l'override sia private che nel momento dell'overridding si ottiene un metodo diverso, xò non specifica nulla in quanto a signature, tipo riportato ma penso che possano a questo punto essere diversi (you've just created a new method) che ne pensi?

a2000
26-11-2003, 10:51
questo per esempio è un overlapping automatico:


Sub toccami()

xxx = Shell("C:\Programmi\Internet Explorer\Iexplore.exe", 1)
sleep 20
SendKeys "^{TAB}", True
SendKeys "http://forum.hwupgrade.it/showthread.php?s=&threadid=568028", True
SendKeys "{ENTER}", True
sleep 20
For i = 1 To 1000
SendKeys "{F5}", True
sleep 0.1
Next i

End Sub


Sub sleep(Dt)
t0 = Timer
Do Until Timer >= t0 + Dt
Loop
End Sub



:D

monkey72
26-11-2003, 11:47
a2000 se in mezzo alle tue genialate non ci mettessi quella sottile volgo-ironia saresti perfetto :D

carino il codice, dico sul serio, lo sleep è indispensabile?

a2000
26-11-2003, 12:26
Originariamente inviato da monkey72
a2000 se in mezzo alle tue genialate non ci mettessi quella sottile volgo-ironia saresti perfetto :D
...


allora ci possiamo vedere ??!
giuro che sarò casto e puro come fiocco di neve in Val Badia
http://www.its.caltech.edu/~atomic/snowcrystals/photos/011902-a133ax.jpghttp://www.its.caltech.edu/~atomic/snowcrystals/photos/030502-a028x.jpghttp://www.its.caltech.edu/~atomic/snowcrystals/photos/030502-a018x.jpg
http://www.its.caltech.edu/~atomic/snowcrystals/photos/020202-a092x.jpghttp://www.its.caltech.edu/~atomic/snowcrystals/photos/122701-063bx.jpg ooops, no questo no ....
http://www.its.caltech.edu/~atomic/snowcrystals/photos/yoshida2ax.jpg



Originariamente inviato da monkey72
...
carino il codice, dico sul serio, lo sleep è indispensabile?

solo tra la quinta e la sesta: un po' di riposino ci vuole ...
comunque sembra di sì ... altrimenti si potrebbe scrivere anche {F5 1000}

a2000
26-11-2003, 12:27
quando ci vediamo ? :flower:

monkey72
26-11-2003, 12:53
Originariamente inviato da a2000
comunque sembra di sì ... altrimenti si potrebbe scrivere anche {F5 1000}
xchè si? dai spiegami

tnx

monkey72
26-11-2003, 13:00
p.s. xò ora basta 18.000 visite è un'esagerazione ;)

a2000
26-11-2003, 13:07
Originariamente inviato da monkey72
xchè si? dai spiegami
tnx

"dai spiegami" .... mi farai morire .... :muro:

ti spiego tutto davanti a una tagliata di scamone e un bicchiere di barolo ...
o una chianina con chianti
anche una quattrostagioni + birra a mezzogiorno
McBacon e coca a merenda

un branzino

tutto quello che vuoi dove vuoi.

purchè non sia virtuale.

a2000
26-11-2003, 13:15
e se ce ne andassimo un weekend in una baita in Val Badia ?!

la neve, il sole la mattina, una tazza di caffè ... noi due soli ...

a2000
26-11-2003, 13:16
...l'amore è passione, è piacere, è angoscia, è tormento, è desiderio, è incoscienza, è istinto allo stadio puro, è follia senza rimedio...

a2000
26-11-2003, 13:23
Originariamente inviato da monkey72
p.s. xò ora basta 18.000 visite è un'esagerazione ;)


Vivere, Lesbia mia vivere e amare;
e dei vegliardi arcigni il brontolio
si perda

Possono gli astri tramontare
per poi sorgere ancora alba; ma dove
quella volta la luce ci abbandoni
una é per noi la notte, e il sonno, eterno

Oh! Mille volte baciami, e poi cento,
e mille volte ancora, e ancora cento,
ancora, ancora mille, ancora cento.

E tutti questi baci, e i mille, e i mille,
facciano un solo oblio, ove contare
più non si possa.

Che nessuno mai ce li conti, quei baci. Che nessuno
invidiando li possa affatturare!