Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Java Graphics

o165321917 [15.06.2006 19:42:08]

#

Kirjoissa mitä olen nähnyt niin kaikki grafiikka on aina laitettu aina samaan luokkaan. Miten ootte tehneet ohjelmien kanssa joissa esim. tulostetaan näytölle suuri määrä grafiikkaa. Laitetaanko kaikki g.drawLine (jne.) -komennot samaan paint-metodiin vaikka kodia on paljon, vai tehdäänkö esim. monta luokkaa jotka kaikki perivät Canvaksesta joissa jokaisessa oma paint-metodi. Jos kaikki grafiikka pelissä on laitettu samaan luokkaan niin tarvitaan sinne yleensä myös paljon if- ja muita lauseta.

Sami [15.06.2006 19:52:53]

#

Sen Graphics-olion pystyy aivan hyvin välittämään mille tahansa muulle metodille, jolloin paint-metodiin jää jäljelle ainoastaan kasa muiden metodien kutsuja.

Esim.

public void paint(Graphics g) {
for (int i = 0; i < objektit.length; ++i) {
objektit[i].piirrä(g);
}
}

Tällöin muissa luokissa tarvitsee periyttää vain java.awt.Graphics (ja muut luokan tarvitsemat luokat) ja kaikki tarvittavat ehtolauseetkin voidaan testata tuolla piirrä-metodin sisällä.

o165321917 [15.06.2006 21:16:52]

#

Mitkä ovat hyvät/huonot puolet noissa kahdessa vaihtoehdossa?

A-P [15.06.2006 22:09:31]

#

o165321917 kirjoitti:

Mitkä ovat hyvät/huonot puolet noissa kahdessa vaihtoehdossa?

Jälkimmäisessä:
+ kukin olio vastaa omasta piirtämisestään
- jos demottava jotain metodia yms. niin raskas (ohjelmoitava ylimääräisiä luokkia jne.)

Ensimmäisessä:
+ edellisen miinus (ei tarvitse ylimääräisiä luokkia yksinkertaiseen esimerkkiin)
- kaikki muu

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta