Autore Topic: onCreate Public o Protected?  (Letto 703 volte)

Offline kiuzhack

  • Nuovo arrivato
  • *
  • Post: 14
  • Respect: 0
    • Google+
    • kiuzhack
    • Mostra profilo
    • Kiuz
  • Dispositivo Android:
    Samsung Galaxy S2
  • Sistema operativo:
    Mac OSx
onCreate Public o Protected?
« il: 10 Settembre 2012, 12:29:42 CEST »
0
Salve a tutti, mi presento sono Domenico e da poco ho iniziato ad esplorare il mondo Android pur conoscendo già abbastanza il JAVA. Quindi vi pongo una domanda:
Da specifica su developers.android.com il metodo onCreate ... è definito protected, bene ... perchè in molte guide è utilizzato Public?
L'uso di uno o l'altra visibilità comprometterebbe la sicurezza dell'app? O Comunque che ripercussioni si possono avere nell'uso di uno o dell'altra.. PRO e Contro per intenderci.


Grazie.
« Ultima modifica: 10 Settembre 2012, 13:29:23 CEST da kiuzhack »

Offline Il.Socio

  • Nuovo arrivato
  • *
  • Post: 41
  • Respect: +3
    • marcobellino
    • Mostra profilo
    • Guardian-Mobile
Re:onCreate Public o Protected?
« Risposta #1 il: 10 Settembre 2012, 17:00:43 CEST »
0
perchè in molte guide è utilizzato Public?
imho: perchè chi ha realizzato quelle guide non è consapevole della differenza tra public e protected, o non si cura minimamente delle buone regole di programmazione che conviene seguire riguardo la visibilità da attribuire ai vari metodi.

L'uso di uno o l'altra visibilità comprometterebbe la sicurezza dell'app?
O Comunque che ripercussioni si possono avere nell'uso di uno o dell'altra.. PRO e Contro per intenderci.
Nell'ampliare la sua visibilità in public,
Pro: non ne vedo... è un metodo che viene chiamato dal framework, oppure dalle sottoclassi e si suppone che non venga mai richiamato da una classe esterna.
Contro: si fornisce agli utilizzatori di questa classe la possibilità di richiamare il metodo onCreate(), ed a seconda di come è stato implementato nell'activity, potrebbe generare un errore a runtime.
« Ultima modifica: 10 Settembre 2012, 17:04:32 CEST da Il.Socio »

Offline kiuzhack

  • Nuovo arrivato
  • *
  • Post: 14
  • Respect: 0
    • Google+
    • kiuzhack
    • Mostra profilo
    • Kiuz
  • Dispositivo Android:
    Samsung Galaxy S2
  • Sistema operativo:
    Mac OSx
Re:onCreate Public o Protected?
« Risposta #2 il: 10 Settembre 2012, 18:29:10 CEST »
0
Ok! Risposta perfetta.

Il libro in questione è un DEITEL... quindi mi sembra al quanto strano. Comunque il libro è per Android 2.2- e 2.3 quindi ora per curiosità andrò a vedermi in caso la visibilità in Android 2.x di onCreate() è Public. Ma è una questione di curiosità ...

Offline Il.Socio

  • Nuovo arrivato
  • *
  • Post: 41
  • Respect: +3
    • marcobellino
    • Mostra profilo
    • Guardian-Mobile
Re:onCreate Public o Protected?
« Risposta #3 il: 10 Settembre 2012, 21:15:22 CEST »
0
Se quell'esempio si trova nel contesto di un percorso didattico, in cui vengono spiegati anche i fondamenti del linguaggio java, quali i modificatori d'accesso public, protected, private, allora potrebbe averlo dichiarato come public semplicemente perchè il significato di protected verrà fornito nei capitoli successivi, pertanto, per ragioni didattiche, giustamente, evita di introdurre concetti di cui non ne è ancora stato spiegato il significato.
Altre motivazioni non ne vedo.
« Ultima modifica: 10 Settembre 2012, 21:22:04 CEST da Il.Socio »