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/