ciao,
di solito, se conforme alla best practice (il che non e' garantito solo per come si scrive un nome di variabile) indica un campo privato che pero' e' in qualche misura esposto, normalmente tramite getter/setter o uno di questi, rispettivamente per implementare readOnly o writeOnly.
Una tipica implementazione puo' essere questa:
codice:
public class FontWrapper {
private _fontSize:Number;
public function get fontSize():Number { return _fontSize; }
public function set fontSize(v:Number):void { _fontSize = v; }
...
messa in questo modo e' equivalente a scrivere:
codice:
public class FontWrapper {
public fontSize:Number;
...
ma allora che vantaggi ci sono ad usare l'esempio in cima?
Cosi' come confrontati finora, non molti, in questo esempio cominciano a diventare piu' evidenti:
codice:
public class FontWrapper {
private _fontSize:Number;
// fontSize is readOnly
public function get fontSize():Number { return _fontSize; }
...
Un altro uso tipico e' condizionare lo stato della classe (aggiornamento) in base al valore del campo in questione:
codice:
public class FontWrapper {
private _fontSize:Number;
public function get fontSize():Number { return _fontSize; }
public function set fontSize(v:Number):void {
_fontSize = v;
if(v > 10) applyAlienAlias();
}
...
private function applyAlienAlias():void { ... }
...
In altri casi _fontSize puo' essere semplicemente un campo protetto, quindi destinato ad essere usato in classi che ereditano:
codice:
public class SuperHero {
protected var _fontSize = 10;
...
codice:
public class Thor extends SuperHero {
// the constructor, no need to specify access type nor return type since it's always void
function Thor (){
_fontSize = 20;
...
Non e' tutto qui naturalmente, e' solo per dire che l'uso di campi privati in combinazione con getter/setter e' una pratica frequentissima.

Jaco