Stránka 1 z 1
Pole vs. Kolekce
Napsal: 16 lis 2013 22:55
od Fantomas
Ahoj,
ve škole jsem dostal domácí úkol, k jeho vypracování však musím pochopit zadání. Není to tak snadné, nemohl by mi někdo vysvětlit, co tímto měl učitel na mysli?
Vytvořte třídu Calculators, která si bude udržovat seznam referencí na instance Calculator, tedy na objekty implementující toto rozhraní. Údržba spočívá v implementaci veřejných metod void add(Calculator calculator), void remove(Calculator calculator) a void clear(). Seznam implementujte podle vlastního uvážení jako pole nebo kolekci. (Tip: kolekce mají stejnojmenné metody již k dispozici.)
Jak bych měl tyto metody dát do kolekce nebo pole? To jsem nikdy nedělal a myslím, že to ani nejde, ale to by nebylo pak v zadání...
Dali byste mi prosím příklad, jak je implementovat?
Děkuji mockrát.
Re: Pole vs. Kolekce
Napsal: 16 lis 2013 23:02
od CZechBoY
Zdar,
s čím si konkrétně nevíš rady?
Re: Pole vs. Kolekce
Napsal: 16 lis 2013 23:53
od Fantomas
nechápu, jak seznam obsahující metody dát do pole nebo kolekce
Re: Pole vs. Kolekce
Napsal: 16 lis 2013 23:59
od CZechBoY
Seznam = kolekce, pole je součást kolekce, akorát kolekce je dynamická a můžeš do ní dávat další prvky přes Collection.Add a tak

viz google
Re: Pole vs. Kolekce
Napsal: 17 lis 2013 00:06
od Fantomas
ano to chápu a to je úplně základní poznatek, ale nechápu, jak deklarovat do ArrayListu metodu, něco jako:
Kód: Vybrat vše
ArrayList <Object> seznam = new ArrayList<>();
seznam.add(void add(Calculator calculator));
seznam.add(void clear() );
To je přeci nesmysl a Netbeany mi to také nepustí... Jak tedy vypadá syntaxe při přidávání metody do ArrayListu? Je vhodný ArrayList nebo dát HashSet či HashMap? Není to lepší dát do pole?
Re: Pole vs. Kolekce
Napsal: 17 lis 2013 00:09
od CZechBoY
Dej si to do čeho chceš, však to je taky v zadání...
proč tam píšeš void a add? nechápu...
Co to je za jazyk?
Většinou se metody píšou PascalCasem, takže bych zkusil první písmeno dát velký

Re: Pole vs. Kolekce
Napsal: 17 lis 2013 00:24
od Fantomas
No je to v jazyku Java, to jsem zapomněl zmínit, za což se velice omlouvám.
Nenávratové metody např. void add(Calculator calculator) s parametrem Calculator (rozhraní, které má vlastnost "počítej").
Založil jsem si kolekci a pak jsem do ní přidával metody, ale to je asi blbost... Právě proto se ptám, jak dát buď do kolekce či do pole metodu (umím dávat pouze jednoduché datové typy do těchto objektů - např. int[] pole = new int {1,2,1}; ale metody jsem nikdy nedával).
Re: Pole vs. Kolekce
Napsal: 17 lis 2013 00:26
od CZechBoY
Nechápu proč chceš dávat do kolekce metodu, myslím, že to jde

Máš tam ukládat jen nějaký objekty ne? Kolekce.Add(this); třeba
Re: Pole vs. Kolekce
Napsal: 17 lis 2013 00:32
od Fantomas
Údržba spočívá v implementaci veřejných metod void add(Calculator calculator), void remove(Calculator calculator) a void clear(). Seznam implementujte podle vlastního uvážení jako pole nebo kolekci.Musím nějak implementovat výše uvedené metody v kolekci či v poli... ale nevím jak by to vypadalo. Už jsem prošel hodně stránek, ale nikde nic takovýho neřešili...

Re: Pole vs. Kolekce
Napsal: 17 lis 2013 00:35
od CZechBoY
To se má implementovat ve třídě
Calculators ne?
Prostě napíšeš
Kód: Vybrat vše
void add(Calculator calculator) {this.items.Add(calculator);}
nazdar, hotovo
