Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

Koostuminen

Luokan jäsenmuuttujina voi olla myös muita luokkia. Tätä kutsutaan koostumiseksi.

Koostumista voidaan ajatella siten että jos Auto-luokka koostuu neljästä Rengas-luokan oliosta, Kori:sta, Moottori:sta, jne. Kaikki nämä ovat omia luokkiaan, joita voidaan käyttää muissakin yhteyksissä. Kun ne pistetään yhteen, ne muodostavat auton, joka koostuu renkaista, korista, moottorista jne. Image Added Image Added

Esimerkki 1. Koostuminen.

Code Block

Wiki Markup
h2. Koostuminen

Luokan jäsenmuuttujina voi olla myös muita luokkia. Tätä kutsutaan  koostumiseksi.

Esimerkki 1. Koostuminen.

class CProsessori
{
};

class CRAM
{
};

class  CTietokone
{
private:
       CProsessori prossu;
    // Luodaan prossu-olio CProsessori-luokasta
    CRAM ram;           // Luodaan ram-olio CRAM-luokasta
};

Tietokone

...

koostuu

...

prosessorista

...

ja

...

emolevystä

...

(

...

+

...

muista

...

komponenteista).

...

CTietokone-luokka

...

siis

...

koostuu

...

CProsessori

...

ja

...

CRAM

...

-luokista.

Image Added
Kuva 1. UML-luokkakaavio.

Koostettujen luokkien käyttö

Koostettuja luokkien metodeja kutsutaan kuten muitakin luokkien, eli olioiden kautta. Eli: olion_nimi.metodin_nimi();

...

Anchor
esim2
esim2

Esimerkki 2.

...

Koostettujen

...

olioiden

...

kutsuminen.

Code Block


// CProsessori-luokka
class CProsessori
{
public:
       int Laske();
};

// CRAM-luokka
class CRAM
{
public:
       void Talleta();
};

class  CTietokone
{
private:
       CProsessori prossu;
       CRAM muisti;

public:
    void     void Suorita();
};

void CTietokone::Suorita() 
{
            prossu.Laske();
            muisti.Talleta();
    }
};}

Image Added
Kuva 2. UML-luokkakaavio.