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

...

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.

prosessori.h:

Code Block
class CProsessori
{
};

ram.h:

Code Block
class CRAM
{
};

tietokone.h:

Code Block
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ö

...

Esimerkki 2. Koostettujen olioiden kutsuminen.

...

.

...

Code Block
class CProsessori
{
public:
    int Laske();
};

ram.h:

Code Block
class CRAM
{
public:
    void Talleta();
};

tietokone.h:

Code Block
class CTietokone
{
private:
    CProsessori prossu;
    CRAM muisti;

public:
    void Suorita();
};

tietokone.cpp:

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

Image Added
Kuva 2. UML-luokkakaavio.