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

...

Luokan jäsenmuuttujina voi olla myös muita luokkia.  Tätä kutsutaan koostumiseksi.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


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 Suorita();
};

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

Image Added
Kuva 2. UML-luokkakaavio.