Zdravím,
zajímala by mě situace, jež u příkladu následujícího nastane v RAM:
Mám řídící třídu (tj. Objekt s metodou "main" starající se o komunikaci s uživatelem apod.), v níž instancuji objekt Člověk. Jeho konstruktor inicializuje jisté atributy (řekněme, "výška = 152" atd.). Avšak, v samotném objektu se nachází privátní metody, které sami konstruktor zavolají (tedy ve třídě Člověk jistá metodá má v těle sekvenci kódů jako "new Člověk(152, 52)").
Nyní k otázkám:
1. Při změně parametrů v konstruktoru Člověka, jenž volán jest ve třídě stejné, přizpůsobí se jim i konstruktor vnější - čili volaný z hlavní/řídící třídy?
2. Je tento způsob změny parametrů v souladu s filozofií nenáročnosti aplikace?
Děkuji za toužené odpovědi.
Java - Situace v paměti
Moderátor: Mods_senior
- domitea
- Tvůrce článků
- Příspěvky: 1971
- Registrován: 24 čer 2009 19:46
- Bydliště: Královehradecký kraj
- Kontaktovat uživatele:
Re: Java - Situace v paměti
A zdroják by nebyl? Asi vím co myslíš, ale ze zdrojáku se to lépe čte 
1. Při volání konstruktoru vždycky vyváříš nový objekt, vždycky. Takže jak by se mu měl přispůsobit?
2. Jestli parametry třídy člověk měníš tak, že vždycky vytvoříš nový objekt... No, určitá paměťová náročnost tam bude
1. Při volání konstruktoru vždycky vyváříš nový objekt, vždycky. Takže jak by se mu měl přispůsobit?
2. Jestli parametry třídy člověk měníš tak, že vždycky vytvoříš nový objekt... No, určitá paměťová náročnost tam bude
-
Matiseli
- Level 2.5

- Příspěvky: 381
- Registrován: 24 čer 2014 19:30
- Bydliště: Podíváte-li se roku 2023 na oblohu, tak na té planetě více v pravo
Re: Java - Situace v paměti
Tedy, zde konstruktor jest:
A mám, dejme tomu, tuto metodu:
Nyní k otázce: Jest méně náročné volat celý konstruktor, (viz. metoda "zmenZamereni()"), či k těmto účelům napsat metodu novou (avšak s obsahem, jako má konstruktor) - tedy:
}
Kód: Vybrat vše
/**Konstruktor instancuje potřebné objekty pro zápis/čtení.
* @cestaKsouboru - Udává soubor v adresáři, na něhož se veškeré poskytované operace v tomto objektu zaměří.*/
public SoubSys(String cestaKsouboru) throws IOException{
operátor = new RandomAccessFile(new File(cestaKsouboru), "rw");
}Kód: Vybrat vše
private Soubory zmenZamereni(String cestaKsouboru){
return new Soubory(cestaKsouboru);
}
Kód: Vybrat vše
private void zmenZamereni(String cestaKsouboru){
operace = new RandomAccessFile(new File(cestaKsouboru));- domitea
- Tvůrce článků
- Příspěvky: 1971
- Registrován: 24 čer 2009 19:46
- Bydliště: Královehradecký kraj
- Kontaktovat uživatele:
Re: Java - Situace v paměti
Jo táákhle, no odpověděl jsis sám 
Jaký je rozdíl mezi metodou Soubory a RandomAccessFile? Žádný, oba dva to jsou konstruktory! Takže v tomhle případě to je fuk
Stejně si vyvoříš další objekt, přepíšeš reference a až uklízeč odpadků bude mít čas, tak ten starý objekt vymaže. To platí u obou dvou kostruktorů.
Jinak zrovna u Javy řešit otázku přidělování paměti mi přijde trochu kontraproduktivní
Jaký je rozdíl mezi metodou Soubory a RandomAccessFile? Žádný, oba dva to jsou konstruktory! Takže v tomhle případě to je fuk
Jinak zrovna u Javy řešit otázku přidělování paměti mi přijde trochu kontraproduktivní
-
- Podobná témata
- Odpovědi
- Zobrazení
- Poslední příspěvek
-
- 8 Odpovědi
- 6600 Zobrazení
-
Poslední příspěvek od Hromotluk
