Qualcosa a cui non avevo mai pensato prima (sintassi AS3):
private var m_obj:Object;
protected function get obj():Object
{
return m_obj;
}
private var m_str:String;
protected function get str():String
{
return m_str;
}
Almeno le sottoclassi non saranno in grado di impostare m_obj o m_str (sebbene possano ancora modificare m_obj).
La mia domanda: si tratta semplicemente di eccessivo sfruttamento?
Questa domanda del programmatore: Quando o perché dovresti usare getter / setter per le proprietà di classe invece di renderle semplicemente proprietà pubbliche? è stato suggerito come duplicato.
Questa domanda è diversa perché si rivolge solo alle proprietà pubbliche e private e se una proprietà deve essere inclusa con getter e amp; setter. Per la mia domanda, mi sto concentrando sulle variabili protette e su come l'ereditazione delle classi interagirebbe con quelle variabili.
Quindi l'implementazione alternativa sarebbe:
protected var m_obj:Object; //more accessible than a private variable with a protected getter
protected var m_str:String; //more accessible than a private variable with a protected getter
La mia domanda è simile perché sto usando i
In linguaggi come AS3, questo permetterà anche a loro di apportare qualsiasi modifica alle variabili oggetto mutabili, purché i riferimenti stessi non vengano modificati.