static void Main(string[] args)
{
var c2 = new Class2();
var c3 = new Class3();
var c1 = new Class1(c2, c3);
c1.Method1();
}
class Class1
{
readonly Class2 _class2;
readonly Class3 _class3;
public Class1(Class2 class2, Class3 class3)
{
_class2 = class2;
_class3 = class3;
}
public void Method1() {
_class2.PerformM1();
_class3.PerformM2();
}
}
class Class2
{
public void PerformM1()
{
//do some operation
}
}
class Class3
{
public void PerformM2()
{
//do some operation
}
}
Domande basate sul codice precedente:
- Quanta memoria ha oggetto di Class1 quando viene creata?
- La memoria aumenta o diminuisce quando eseguo c1.Method1 (); tenendo presente che nessuna delle classi ha campi globali potrebbe acquisire qualsiasi spazio.
Modifica
Espansione con un'altra domanda:
- Se la creazione di nuovi oggetti di Class1 e i metodi di chiamata dell'oggetto c1 non comportano un uso eccessivo della memoria, è corretto dire che non ho bisogno di un blocco nel codice di esempio fornito sopra.
Posso semplicemente creare n numero di oggetti e assegnare singoli oggetti a una singola attività (o thread)?