Code:
public class Test
{
int a, b;
Test(int i, int j)
{
a=i;
b=j;
}
// Vraca vrednost true ako je objekat o jednak objektu koji je pozvao metodu
boolean jednakost(Test o)
{
if(o.a == a && o.b == b)
{
return true;
}
else
{
return false;
}
}
}
public class Test
{
int a, b;
Test(int i, int j)
{
a=i;
b=j;
}
// Vraca vrednost true ako je objekat o jednak objektu koji je pozvao metodu
boolean jednakost(Test o)
{
if(o.a == a && o.b == b)
{
return true;
}
else
{
return false;
}
}
}
Code:
public class ProslediObjekat
{
public static void main(String[] args)
{
Test ob1 = new Test(100, 22);
Test ob2 = new Test(100, 22);
Test ob3 = new Test(-1, -1);
System.out.println("ob1 == ob2: "+ob1.jednakost(ob2));
System.out.println("ob1 == ob3: "+ob1.jednakost(ob3));
}
}
public class ProslediObjekat
{
public static void main(String[] args)
{
Test ob1 = new Test(100, 22);
Test ob2 = new Test(100, 22);
Test ob3 = new Test(-1, -1);
System.out.println("ob1 == ob2: "+ob1.jednakost(ob2));
System.out.println("ob1 == ob3: "+ob1.jednakost(ob3));
}
}
Tekst koji ide uz kod, koji je "objasnjenje"
"Kao sto vidite, metoda jednakost() klase Test ispituje da li su dva objekta medjusobno jednaka i vraca razultat poredjenja.Drugim recima, ona poredi objekat kome pripada sa objektom koji joj se prosledi. Ako oni sadrze iste vrednosti, metoda vraca true. U suprotnom, vraca false. Obratite paznju na to da je parametar o u metodi jednakost() tipa Test. Iako je klasa Test definisana samo u ovom programu, koristi se na isti nacin kao javini ugradjeni tipovi."
Ovaj deo mi je totalno nejasan.
Code:
// Vraca vrednost true ako je objekat o jednak objektu koji je pozvao metodu
boolean jednakost(Test o) // Test o me zbunjuje ? Mi ovde kreiramo objekat kao parametar ? Ovaj deo mi nije jasan.
{
if(o.a == a && o.b == b) // Takodje ovo..
{
return true;
}
else
{
return false;
}
}
// Vraca vrednost true ako je objekat o jednak objektu koji je pozvao metodu
boolean jednakost(Test o) // Test o me zbunjuje ? Mi ovde kreiramo objekat kao parametar ? Ovaj deo mi nije jasan.
{
if(o.a == a && o.b == b) // Takodje ovo..
{
return true;
}
else
{
return false;
}
}
Kao parametar koristimo objekat o ? Gde smo napravili taj objekat nije mi jasno.. Ako neko moze da mi pojasno.
Code:
System.out.println("ob1 == ob2: "+ob1.jednakost(ob2));
System.out.println("ob1 == ob3: "+ob1.jednakost(ob3));
System.out.println("ob1 == ob2: "+ob1.jednakost(ob2));
System.out.println("ob1 == ob3: "+ob1.jednakost(ob3));
Sta se ovde desava ? pozivamo metodu jednakost preko objekta ob1. a kao parametar saljemo objekte ob2 i ob3 sa kojima se porede one vrednosti u gore navedenom if-u ?
Hvala unapred.
[Ovu poruku je menjao miljannet dana 10.03.2015. u 20:23 GMT+1]