typedef v jave / ako dedit z Integer, Long ...
Robert Novotny
robert.novotny na upjs.sk
Pátek Únor 20 17:09:42 CET 2009
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 <msk.conf na gmail.com>
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/
Další informace o konferenci Konference