...
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 CElain
{
Code Block |
---|
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.