Diskuze: Prosím o pomoc - dědičnost v Javě

Java Java Prosím o pomoc - dědičnost v Javě

Avatar
Paul
Člen
Avatar
Paul:

Ahoj, rád bych se zeptal na něco ohledně dědičnosti.
Dělám aplikaci v Javě, která by se měla připojit na web, stáhnout data a uložit do souboru. Rád bych to udělal objektově správně a tak, jak se to v praxi dělá.
Budu stahovat zvlášť tři kategorie dat. Data z každé kategorie se mi uloží do jednoho souboru a pak je budu dále zpracovávat.
Lámu si hlavu s tím jak to správně udělat - napadá mě udělat si předka, kde budou důležité společné atributy pro všechny tři kategorie (např. url, cesta k adresáři pro uložení apod.). Dále pak udělat třídu pro každou kategorii, které budou dědit společné atributy a metody a obstarávat stažení a uložení jednotlivých kategorií.
Napadá mě ale otázka, musím vytvářet instanci toho předka? Nebo vytvořím instance jen těch třech kategorií? Přistupuju k tomu vůbec správně?
Předem díky!

 
Odpovědět 4.2.2014 16:22
Avatar
Benjibs
Člen
Avatar
Odpovídá na Paul
Benjibs:

Triedu - predok - ktorá bude slúžit len na dedenie urobíš abstraktnou.
Instancie by si mal vytvárať len u potomkov, a každého z potomkov od nej oddedíš, oni si potom sami vytvoria ako keby privátne instancie rodičovskej triedy, ktoré tak sprostredkúvajú tú dedičnosť.

Editováno 4.2.2014 16:51
Nahoru Odpovědět 4.2.2014 16:51
1 + 1 = 2
Avatar
Paul
Člen
Avatar
Odpovídá na Benjibs
Paul:

Díky za odpověď. Zní to logicky...
Ještě ale jedna věc mě napadá - mám tam tři checkboxy - na základě toho které budou zaškrtnuté se bude stahovat daná kategorie.
Jak tohle zajistit? Přeci musim mít ještě nějakou třídu, která tohle bude zajišťovat - kde bude nějaká podmínka pro ověření co je a co neni zaškrtlé a podle toho se bude volat konstruktor daného potomka. Taky bych chtěl aby se mi automaticky vypisoval dnešní datum do pole "Datum publikace". To taky musim přece v nějaký třídě implementovat.

 
Nahoru Odpovědět 4.2.2014 20:03
Avatar
Benjibs
Člen
Avatar
Odpovídá na Paul
Benjibs:

To overenie, ktoré políčko je zaškrtnuté, by som rovno dal do kontrolleru (v akom frameworku robíš to gui? ),

JavaFX:

if (mojCheckbox.isSelected())
{
 ...
}
if (mojDruhyCheckbox.isSelected())
{
 ...
}

atd

Proste v príslušnom bloku vytvoríš instanciu a zavoláš nejakú jej metódu
(alebo to urobit multithreaded, vytvorit si nejaku triedu čo bude implementovat Runnable, dat jej generický konštruktor (alebo lepšie wildcard - ? extends MojPredok), aby si tam mohol pekne čisto dávat instanciu akejkolvek triedy, čo dedí od MojPredok,
a na tej instancii potom v metóde run (triedy vlákna) zavoláš napr. zacniStahovat().

Bez toho dalsieho vlákna by ti grafické okno so začatím stahovania zamrzlo, to je dufam jasne.

Editováno 4.2.2014 20:36
Nahoru Odpovědět 4.2.2014 20:35
1 + 1 = 2
Avatar
Paul
Člen
Avatar
Odpovídá na Benjibs
Paul:

To gui jsem si naklikal v Netbeans...
A jak zajistit to aby se mi po spuštění programu (zobrazení gui) automaticky vepisoval dnešní datum?
Přijde mi divný psát to do třídy gui.

Omluvám se za hloupý dotazy ale moc jsem toho zatím nenapsal tak tápu...

 
Nahoru Odpovědět 4.2.2014 21:37
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Paul
David Čápka:

Přečti si zdejší tutoriály, nemůžeš se zde ptát na každou banalitu.

Nahoru Odpovědět 6.2.2014 9:33
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Paul
Člen
Avatar
Odpovídá na David Čápka
Paul:

Tutoriály jsem prolítl. Kouknu do nich důkladnějc. Dík

 
Nahoru Odpovědět 6.2.2014 9:47
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 7 zpráv z 7.