Forum Informatica Unict

LAUREA TRIENNALE (D.M. 270/04) => Programmazione 1, 9 CFU => Topic started by: @@AntonioCT@@ on 19-02-2009, 10:41:56



Title: Chiarimento su " costruttore di una classe "
Post by: @@AntonioCT@@ on 19-02-2009, 10:41:56
Un saluto a tutti, devo svolgere la prova di lab e non mi è chiara una cosa:
come mai quando dichiaro il costruttore di una classe non posso usare il nome della variabile ma uno del tipo _(var)
Mi spiego meglio:
Quote
abstract class A
{
   private int x;
   public A (int _x)
   {
      x=_x;
   }
   public abstract int f (int x);
}
Perchè si mette x=_x ?


Title: Re:Chiarimento su " costruttore di una classe "
Post by: •Black Angel• on 19-02-2009, 10:48:13
puoi utilizzare il neme stesso della variabile, ed in quel caso userai il this

Code:
abstract class A
{
    private int x;
    public A(int x)
      {
          this.x=x;
       }
    abtract int f(int x);
}


Title: Re:Chiarimento su " costruttore di una classe "
Post by: KingDavid on 19-02-2009, 10:50:01
Un saluto a tutti, devo svolgere la prova di lab e non mi è chiara una cosa:
come mai quando dichiaro il costruttore di una classe non posso usare il nome della variabile ma uno del tipo _(var)
Mi spiego meglio:
Quote
abstract class A
{
   private int x;
   public A (int _x)
   {
      x=_x;
   }
   public abstract int f (int x);
}
Perchè si mette x=_x ?


Se mettessi x = x
il compilatore farebbe confusione. Per questo motivo si utlizza la parola chiave "this", per riferisi alle variabili dichiarate nella classe.


Title: Re:Chiarimento su " costruttore di una classe "
Post by: francesco89b on 19-02-2009, 11:12:58
o meglio per quanto ne so il compilatore nn farebbe confusione, ma semplicemente assegnerebbe alla variabile x del parametro formale lo stesso valore di se stessa  .sisi .sisi

col this invece ci si riferisce alla variabile di istanza e quindi si va a copiare il parametro all'interno della variabile di istanza...inutile sono una frana a spiegare XD


Title: Re:Chiarimento su " costruttore di una classe "
Post by: zElOtO on 19-02-2009, 11:27:40
Nel public della classe viene passata la variabile int x e scrivendo this.x = x; assegni la variabile passata al costruttore public alla variabile dichiarata nel costruttore A. Non so se mi spiego..  .whistling


Title: Re:Chiarimento su " costruttore di una classe "
Post by: @@AntonioCT@@ on 19-02-2009, 11:47:39
Grazie ragazzi  .applausi ho capito  :[Emoticon] PC Asd:


Title: Re:Chiarimento su " costruttore di una classe "
Post by: Fr3d3R!K on 19-02-2009, 15:44:09
o meglio per quanto ne so il compilatore nn farebbe confusione, ma semplicemente assegnerebbe alla variabile x del parametro formale lo stesso valore di se stessa  .sisi .sisi

col this invece ci si riferisce alla variabile di istanza e quindi si va a copiare il parametro all'interno della variabile di istanza...inutile sono una frana a spiegare XD
invece secondo me è la spiegazione migliore che ho visto nel topic. Ma tutte queste domande finora, mi fanno pensare a quante persone (attente) c'erano a lezione :[Emoticon] Asd: :[Emoticon] Rosik Asd: .whistling .wink


Title: Re:Chiarimento su " costruttore di una classe "
Post by: zElOtO on 19-02-2009, 15:51:04
 :yoh