Izpitno vprašanje RAČ2PRA 800

Iz MaFiRaWiki

Predmet Računalništvo 2 (FMF PRA)

Vprašanje

Kakšna je razlika med spremenljivkami tipa int, double, boolean ... in objektnimi spremenljivkami? Osredotoči se na uporabo spremenljivk v metodah.

Odgovor

Če so parametri funkcije spremeljivke tipa int, double, boolean, ... potem se vrednost spremenljivk, s katerimi je funkcija klicana ne spremenijo, tudi če se vrednosti parametrov funkcije spremenijo. Če pa so parameteri funkcije objektne sprememenljivke, pa se pri spreminjanju le teh spreminjajo tudi vrednosti objektnih spremenljivk, s katerimi je bila funkcija klicana (primer tabele). Pri parametrih funkcije tipa int, double, boolean, ... se pri klicu funkcije prenese vrednost spremenljivke s katero je bila klicana funkcija, pri parametrih objektnega tipa pa se pri klicu funkcije prenese kazalec objektne spremenljivke s katero je bila funkcija klicana.

Primer za statične spremenljvke:

  1. public static void spremeniI(int i) {
  2. i=i+10;
  3. }

Klic:

  1. int j = 10;
  2. spremeniI(j);//po klicu ima j še vedno vrednost 10


Primer za objektne spremenljvke:

  1. public static void spremeniI(int[] i) {
  2. for(int k=0; k<i.length; k++) {
  3. i[k]=i[k]+10;
  4. }
  5. }

Klic:

  1. int[] j = new int[4];
  2. j = {1,2,3,4};
  3. spremeniI(j); //po klicu ima j vrednost {11,12,13,14}
Osebna orodja