Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: cppwhizz 17. 08. 2017, 21:03:09

Název: Koprodukt v Javě
Přispěvatel: cppwhizz 17. 08. 2017, 21:03:09
Ahoj, umí mi někdo poradit, jak udělat koprodukt v Javě? I bez Googlu vím, že to nejde, potřeboval bych radu, jak to co nejelegantněji obejít. Pro upřesnění - potřebuju něco jako std::variant, ale rekurzivní. (Předělávám aplikaci z iOS na Android, Swift takové typy má, ale do Javy to isomorfně nejde.)
Název: Re:Koprodukt v Javě
Přispěvatel: ffjzdgh 17. 08. 2017, 21:39:32
Jedine snad tridu s memberama pro kazdy typ
A setter co posefuje mazani a nastavovani.
Pamet se neusetri ale jako nahrada ok.
Název: Re:Koprodukt v Javě
Přispěvatel: Lemming 17. 08. 2017, 22:47:47
Pro určité případy může být řešení kdy každý z možných ukládaných typů implementuje nějaký pro ten účel vytvořený interface. Pak proměnnou nadefinuješ že má typ toho interface a je to.
Název: Re:Koprodukt v Javě
Přispěvatel: Aoidhghean 18. 08. 2017, 00:41:23
Pro určité případy může být řešení kdy každý z možných ukládaných typů implementuje nějaký pro ten účel vytvořený interface. Pak proměnnou nadefinuješ že má typ toho interface a je to.
Tak tak, pokud nelze použít nějaký rozumný jazyk, tak je toto nejlepší řešení.
Název: Re:Koprodukt v Javě
Přispěvatel: soyo 18. 08. 2017, 07:17:48
To znie, ako visitor pattern.
Název: Re:Koprodukt v Javě
Přispěvatel: Aoidhghean 18. 08. 2017, 09:26:42
To znie, ako visitor pattern.
Součtový typ a visitor? To chce hodně velkou fantazii.
Název: Re:Koprodukt v Javě
Přispěvatel: Wavelet 18. 08. 2017, 11:51:42
Zkusil bych Kotlin, zvlášť jestli to je pro android.
Název: Re:Koprodukt v Javě
Přispěvatel: Honza 18. 08. 2017, 12:08:01
To znie, ako visitor pattern.
Součtový typ a visitor? To chce hodně velkou fantazii.
Ani ne, pokud člověk zváží účel toho snažení...
Název: Re:Koprodukt v Javě
Přispěvatel: Kamil Podlešák 18. 08. 2017, 12:25:54
Zkusil bych Kotlin, zvlášť jestli to je pro android.
Otázkou ale je jak se tam implementuje ten koproduct. Kotlin nemznám, co jsem trochu vygooglil, tak podobně jako ve Scale přes sealed class?
Název: Re:Koprodukt v Javě
Přispěvatel: Kamil Podlešák 18. 08. 2017, 12:27:20
koproduct
Koukám, cizí termity a z matematické abstrakce je hovnovod...
Název: Re:Koprodukt v Javě
Přispěvatel: CT 18. 08. 2017, 12:35:21
koproduct
Koukám, cizí termity a z matematické abstrakce je hovnovod...
Koprodukt je pojem z teorie kategorií a zde přesně sedí.
Název: Re:Koprodukt v Javě
Přispěvatel: v 18. 08. 2017, 12:50:38
To znie, ako visitor pattern.
Součtový typ a visitor? To chce hodně velkou fantazii.
zas tak moc ne, viz ten variant z c++

koproduct
Koukám, cizí termity a z matematické abstrakce je hovnovod...
Koprodukt je pojem z teorie kategorií a zde přesně sedí.
copro-duct ;)