abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 23:11 | IT novinky

    Akcionáři americké mediální společnosti Warner Bros. Discovery dnes schválili převzetí firmy konkurentem Paramount Skydance za zhruba 110 miliard dolarů (téměř 2,3 bilionu Kč). Firmy se na spojení dohodly v únoru. O část společnosti Warner Bros. Discovery dříve usilovala rovněž streamovací platforma Netflix, se svou nabídkou však neuspěla. Transakci ještě budou schvalovat regulační orgány, a to nejen ve Spojených státech, ale také

    … více »
    Ladislav Hagara | Komentářů: 0
    včera 22:33 | Nová verze

    Canonical vydal (email, blog, YouTube) Ubuntu 26.04 LTS Resolute Raccoon. Přehled novinek v poznámkách k vydání. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 11. vydání s dlouhodobou podporou (LTS).

    Ladislav Hagara | Komentářů: 0
    včera 11:55 | Nová verze

    V programovacím jazyce Go naprogramovaná webová aplikace pro spolupráci na zdrojových kódech pomocí gitu Gitea (Wikipedie) byla vydána v nové verzi 1.26.0. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    včera 04:44 | Pozvánky

    Ve středu 29. dubna 2026 se v pražské kanceláři SUSE v Karlíně uskuteční 7. Mobile Linux Hackday, komunitní setkání zaměřené na Linux na mobilních zařízeních, kernelový vývoj i uživatelský prostor. Akce proběhne od 10:00 do večerních hodin. Hackday je určen všem zájemcům o praktickou práci s Linuxem na telefonech. Zaměří se na vývoj aplikací v userspace, například bankovní aplikace, zpracování obrazu z kamery nebo práci s NFC, i na úpravy

    … více »
    lkocman | Komentářů: 1
    22.4. 21:55 | Nová verze

    LilyPond (Wikipedie) , tj. multiplatformní svobodný software určený pro sazbu notových zápisů, byl vydán ve verzi 2.26.0. Přehled novinek v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    22.4. 20:33 | Nová verze

    Byla vydána nová verze 11.0.0 otevřeného emulátoru procesorů a virtualizačního nástroje QEMU (Wikipedie). Přispělo 237 vývojářů. Provedeno bylo více než 2 500 commitů. Přehled úprav a nových vlastností v seznamu změn.

    Ladislav Hagara | Komentářů: 0
    22.4. 13:33 | IT novinky

    Společnost SpaceX amerického miliardáře Elona Muska oznámila, že si zajistila opci buď na akvizici startupu Cursor za 60 miliard dolarů (přes 1,2 bilionu Kč) do konce letošního roku, nebo na zaplacení deseti miliard dolarů za nové partnerství s touto firmou zabývající se generováním kódů. SpaceX se dále prosazuje na lukrativním trhu s vývojářskými nástroji pro umělou inteligenci (AI). Cursor, startup zabývající se prodejem modelů AI pro

    … více »
    Ladislav Hagara | Komentářů: 2
    22.4. 13:11 | Komunita

    Díky AI modelu Claude Mythos Preview od společnost Anthropic bylo ve Firefoxu nalezeno a opraveno 271 zranitelností.

    Ladislav Hagara | Komentářů: 6
    22.4. 04:44 | Nová verze

    Byla vydána nová verze 2.54.0 distribuovaného systému správy verzí Git. Přispělo 137 vývojářů, z toho 66 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    22.4. 04:33 | Nová verze

    Grafana (Wikipedie), tj. open source nástroj pro vizualizaci různých metrik a s ní související dotazování, upozorňování a lepší porozumění, byla vydána ve verzi 13.0. Přehled novinek v aktualizované dokumentaci a na YouTube. Stalo se tak na konferenci GrafanaCON 2026.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (8%)
     (2%)
     (13%)
     (30%)
     (3%)
     (6%)
     (2%)
     (15%)
     (25%)
    Celkem 1396 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: java - propojení instancí tříd

    6.8.2011 21:25 gusta
    java - propojení instancí tříd
    Přečteno: 862×
    Pracuji na jednom projektu do školy, jehož účelem je naprogramovat cosi v javě. To cosi je jednoduchá databáze. Dostal jsem se do problému, kdy potřebuji propojit dvě třídy. Instance tříd jsou ukládány do pole (arraylist) a jedna třída má obsahovat některé instance z první třídy. Konkrétně, mám třídu Zaznam, která obsahuje atributy jako jméno, příjmení a tak. Instance této třídy jsou pak ukládány do pole, které je následně uloženo o souboru. Pak je tu třída Skupina, která má atributy název (String) a zaznamySkupiny (arraylist typu zaznam). Atribut záznamySkupiny má za udržovbat reference na vybrané instance třídy Zaznam. Podařilo se mi docílit toho, že ve skupině vytvořím nové pole instancí záznamů, tento seznam je však zcela nezávislý na původním. to znamená, když změním údaje v zaznamech, neprojeví se tyto změny v tomto seznamu objektu Skupina a naopak. Jediné řešení které mne napadlo je pro atribut zaznamySkupiny použít pole typu integer a do něho ukládat indexy pole se záznamy. Obávám se však, že to není to správné řešení. Nebo snad ano?

    Budu moc rád když mi někdo poradí. Zkoušel jsem googlit, ale nepodařilo se mi najít uspokojivou odpověď. Jinak stačí obecné řešení kód snad už nějak zvládnu.

    Předem díky.

    Odpovědi

    mess avatar 6.8.2011 21:46 mess | skóre: 43 | blog: bordel | Háj ve Slezsku - Smolkov
    Rozbalit Rozbalit vše Re: java - propojení instancí tříd
    Potřebuješ do toho pole zaznamySkupiny nacpat ty stejné instance, jako do pole zaznamy. Tzn. tvůj problém spočívá v rozdílu "stejné objeky" vs. "objekty nesoucí stejná data".
    Cez párne mesiace zošíváš vaginy, cez neparne montuješ hajzle.
    9.8.2011 17:18 gusta
    Rozbalit Rozbalit vše Re: java - propojení instancí tříd
    tak jsem se konečně dostal k reakci. No je mi to jasné, ale nevím jak to udělat prakticky. když to dělám bez pole tak to zjednodušeně vypadá takto:
    ...
    Skupina s1 = new Skupina;
    Skupina s2 = new Skupina;
    Zaznam z1 = new Zaznam;
    
    s1.add(z1);
    s2.add(z1);
    ...
    
    ale jak to provést když jsou záznamy v poli to přesně nevím.

    jinak jsem to zatím vyřešil trochu jinak. Program přidává záznamy pouze vybrané skupině. To by snad mohlo stačit pro dané zadání. Nicméně pokud se povede i ten původní záměr budu rád.

    zatím dík
    9.8.2011 17:43 kuka
    Rozbalit Rozbalit vše Re: java - propojení instancí tříd
    No a co tedy nevis? Jak ziskat zaznam z pole? Nebo jak ho ulozit do pole? Nebo neco jineho?
    mess avatar 9.8.2011 17:46 mess | skóre: 43 | blog: bordel | Háj ve Slezsku - Smolkov
    Rozbalit Rozbalit vše Re: java - propojení instancí tříd
    V Javě běžně nedělám, ale mělo by být možné něco takového:
    List<Zaznam> poleZaznamu1 = new ArrayList<Zaznam>();
    List<Zaznam> poleZaznamu2 = new ArrayList<Zaznam>();
    
    Zaznam z1 = new Zaznam;
    
    poleZaznamu1.add(z1);
    poleZaznamu2.add(z1);
    
    // Případně toto:
    
    Skupina s1 = new Skupina;
    Skupina s2 = new Skupina;
    Zaznam z1 = new Zaznam;
    
    s1.zaznamySkupiny.add(z1);
    s2.zaznamySkupiny.add(z1);
    
    // Nebo toto:
    
    Skupina s1 = new Skupina;
    Skupina s2 = new Skupina;
    Zaznam z1 = new Zaznam;
    
    s1.zaznamySkupiny.add(z1);
    s2.zaznamySkupiny.add(s1.zaznamySkupiny.get(0)); // předpokládáme, že z1 je prvním prvkem v s1.zaznamySkupiny
    
    
    Cez párne mesiace zošíváš vaginy, cez neparne montuješ hajzle.
    9.8.2011 20:11 gusta
    Rozbalit Rozbalit vše Re: java - propojení instancí tříd
    No v podstatě by to mohla být ta třetí možnost, ale myslím že jsem to takto už zkoušel a nefungovalo to. Záznam z1 byl ve skupině s1 a byl nezávislý na záznamu v s2. Ideální by bylo aby záznam z1 při změně v s1 se změnil i pro s2 a naopak. No ještě jednou to zkusím, třeba jsem tam měl něco špatně. V každém případě díky moc.
    6.8.2011 21:48 kuka
    Rozbalit Rozbalit vše Re: java - propojení instancí tříd
    No prilis jsem ten popis nepochopil a zda se mi to trochu divne. Nicmene pokud bys byl schopny ukladat indexy do nejakeho pole, tak bys asi byl schopny ukladat rovnou instance z tohoto pole. Pak by se ti "zmeny projevily".
    9.8.2011 20:44 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: java - propojení instancí tříd
    Konkrétně, mám třídu Zaznam, která obsahuje atributy jako jméno, příjmení a tak.
    class Zaznam 
    {
      String meno;
      String prijmeni;
    }
    
    z1=new Zaznam();
    z2=new Zaznam();
    
    Instance této třídy jsou pak ukládány do pole,
    ArrayList<Zaznam> poleZaznamov=new ArrayList<Zaznam>();
    poleZaznamov.add(z1);
    poleZaznamov.add(z2);
    z2.meno="fero";
    
    které je následně uloženo o souboru.
    new ObjectOutputStream(new FileOutputStream("subor.dat")).write(poleZaznamov);
    Pak je tu třída Skupina, která má atributy název (String) a zaznamySkupiny (arraylist typu zaznam).
    class Skupina
    {
      String nazev;
      ArrayList<Zaznam> zaznamySkupiny;
    }
    Skupina s=new Skupina();
    s.zaznamySkupiny=new ArrayList<Zaznam>();
    
    Atribut záznamySkupiny má za udržovbat reference na vybrané instance třídy Zaznam. ... když změním údaje v zaznamech, neprojeví se tyto změny v tomto seznamu objektu Skupina a naopak.
    System.out.println(poleZaznamov.get(1)); // vypíše "fero", lebo poleZaznamov.get(1) vrati objekt z2.
    s.zaznamySkupiny.add(z2);
    s.zaznamySkupiny.get(0).meno="pepa"; // modifikuje objekt z2
    System.out.println(poleZaznamov.get(1)); // vypíše "pepa"
    
    Ďalej sa nejak strácam. Nie je mi jasné, kde je problém. Asi v tom, že vyrábaš nový objekt, miesto toho, aby si ten istý objekt pridal do jedného aj druhého zoznamu.

    Ak stále nevieš čo s tým, tak sem attachni nejaký kód nech vieme, o čom sa bavíme.

    mess avatar 9.8.2011 20:57 mess | skóre: 43 | blog: bordel | Háj ve Slezsku - Smolkov
    Rozbalit Rozbalit vše Re: java - propojení instancí tříd
    Jak se tak na to dívám, tak problém by mohl nastat při uložení a znovunačtení toho uloženého pole. Před uložením může být vše správně, ale při načtení se z jednoho objektu (který je na dvou místech) stanou dva (nesoucí stejná data, ale dva). Zkusil bych popřemýšlet nad alternativními způsoby ukládání.
    Cez párne mesiace zošíváš vaginy, cez neparne montuješ hajzle.
    11.8.2011 13:45 gusta
    Rozbalit Rozbalit vše Re: java - propojení instancí tříd
    Děkuji všem za pomoc, nakonec jsem se to udělal tak jak jsem dříve předeslal a na původní funkcionalitu jsem se vy.... Projekt jsem dnes odevzdal, tak doufám že to bude v dostačující. Nicméně pokud bude čas zkusím si původní řešení dle vašich podnětů vytvořit. V dalším ročníku mě čeká další předmět s programování, tak se to třeba bude hodit.

    Ještě jednou díky.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.