Teda chapem to spravne, sluzi to na to, aby si pouzivatel nepomylil poradie parametrov.

Toto sa v Jave neda, jedine riesenie je to obalit do triedy, teda urobit
triedu s jednou instancnou premennou.

public class DocumentID {
   private long value;
   // konstruktory, gettre, settre
}


public class OtherID {
   private long value;
   // konstruktory, gettre, settre
}

public void foo(DocumentId doc, OtherID oth) {
}

RN

On Fri, 20 Feb 2009 17:04:09 +0100, Dusan Zatkovsky <[email protected]> wrote:

On Friday 20 of February 2009 16:52:37 Tomas Hubalek wrote:
Muzes spis ukazat nejake pouziti?

Parametre "ochranene" typmi, kompilator vyhlasi chybu:

typedef long DocumentID;
typedef long OtherID;

void foo ( DocumentID doc, OtherID oth ) {

    // ...

}

DocumentID did = 1;
OtherID oid = 2;

foo ( did, oid );
foo ( oid, did );       // kompilator povie fuck

---

Holy long, kompilator to skompiluje a kod bude robit nezmysly:

long did = 1;
long oid = 2;

foo ( did, oid );
foo ( oid, did );







--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/

Odpovedet emailem