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 Vyřešeno
- domitea
- Tvůrce článků
-
Level 4.5
- Příspěvky: 1971
- Registrován: červen 09
- Bydliště: Královehradecký kraj
- Pohlaví:
- Stav:
Offline
- Kontakt:
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

-
- Level 2.5
- Příspěvky: 381
- Registrován: červen 14
- Bydliště: Podíváte-li se roku 2023 na oblohu, tak na té planetě více v pravo
- Pohlaví:
- Stav:
Offline
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");
}
A mám, dejme tomu, tuto metodu:
Kód: Vybrat vše
private Soubory zmenZamereni(String cestaKsouboru){
return new Soubory(cestaKsouboru);
}
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
private void zmenZamereni(String cestaKsouboru){
operace = new RandomAccessFile(new File(cestaKsouboru));
}
- domitea
- Tvůrce článků
-
Level 4.5
- Příspěvky: 1971
- Registrován: červen 09
- Bydliště: Královehradecký kraj
- Pohlaví:
- Stav:
Offline
- Kontakt:
Re: Java - Situace v paměti Vyřešeno
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í

-
- Mohlo by vás zajímat
- Odpovědi
- Zobrazení
- Poslední příspěvek
-
-
Doplnění RAM paměti Příloha(y)
od bugicek7lpCZ » 09 zář 2024 20:23 » v Rady s výběrem hw a sestavením PC - 25
- 7267
-
od bugicek7lpCZ
Zobrazit poslední příspěvek
07 říj 2024 19:04
-
-
- 8
- 3168
-
od Hromotluk
Zobrazit poslední příspěvek
09 úno 2025 20:22
-
- 5
- 2406
-
od MariTopHigh
Zobrazit poslední příspěvek
02 lis 2024 23:00
Zpět na “Programování a tvorba webu”
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 3 hosti