You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 10 Next »

Luokka (class)

Luokat ovat abstraktioita, jotka mallintavat reaalimaailman asioita. Luokat tarjoavat palveluita (metodit) ja voivat tallentaa tilansa jäsenmuuttujiin. Luokkien mallintaminen on oma taiteenlajinsa, eikä ole välttämättä oikeata tapaa mallintaa asioita, on vain parempia ja huonompia tapoja.  Seuraavassa kuvassa on esitetty erään mittausohjelman luokkamalli, jonka nimesin luokkasotkuksi, jokainen voi päätellä miksi?

Ohjelmassa käytettävät luokat esitellään yleensä omissa .h -tiedostoissaan ja luokan metodit toteutetaan omissa .cpp -tiedostoissaan. Toisaalta C++-kääntäjän kannalta ei ole väliä, onko luokat omissa tiedostoissaan vai kaikki samassa. Kun luokkien lukumäärä kasvaa, on erittäin tärkeätä, että ne löytyvät helposti. Jos kaikki luokat ovat samassa tiedostossaan, tämä vaikeuttaa löytämistä huomattavasti.

Luokka UML-mallina:

Luokka esitellään seuraavasti:

class OmaLuokka
{
    // Tänne luokan esittely, eli jäsenmuuttujat
    QString Nimi;

    //ja metodit eli funktiot
    AsetaNimi(QString nimi);
 };  // <- Muistakaa puolipiste loppuun!

Metodeihin etuliitteitä ei yleensä laiteta.

Luokan palveluita käytetään olioiden avulla.

On muistettava, että muuttujia ei voi normaalisti alustaa luokan esittelyn yhteydessä, vaan ne täytyy alustaa muodostimessa, jossa oliot luodaan.

  • No labels
You must log in to comment.