Prev Next Up Title Contents Index

Yleisiä luokkia

Yleensä kaikissa APF-kirjastoissa on ainakin ikkunaluokka. Sovelluksen ikkunalle peritään jonkin perusikkunan ominaisuudet ja sitten luokkaan lisätään sovelluksen erityisominaisuuksia. Esimerkiksi kirjoitetaan metodit siitä, mihin viestiin vastataan milläkin tavalla. Se miten metodit liitetään tiettyihin viesteihin riippuu vahvasti APF:stä.

Esimerkiksi LAFissa on tietty määrä valmiita metodien nimiä, jotka uudelleenkirjoitetaan haluttaessa. Samoin on Windows++:ssa. Borlandin OWL 1.0:ssa (Object Windows Library) oli varsin mukava tapa ilmoittaa metodin nimen perässä sitä vastaavan viestin numero. Tämä oli kuitenkin C++:aan lisätty epästandardi ominaisuus - joten se siitä (tosin koska OWL:ääkään ei käytetä muuta kuin Borlandin kääntäjän kanssa, niin olisiko tuosta sittenkään ollut paljoa haittaa).

OWL 2.0:sta alkaen Borland on käyttänyt Microsoftin Visual C++:an MFC:n (Microsoft Foundation Class Library) tapaa muistuttavaa makroilla toteutettua taulukkoa viestien ja funktioiden yhdistämiseksi. Tämä voidaan toteuttaa standardi C++:lla, mutta on OWL 1.0:aan verrattuna sotkuisemman näköinen ja lisäksi pahimmassa tapauksessa sama funktio tulee esiintymään kolmessa eri kohdassa ohjelmaa, joten nimiä muutettaessa tulee olla tarkkana. Toteutus mahdollistaa kuitenkin saman funktion käytön useamman eri viestin käsittelyyn.

Ikkunaluokan lisäksi usein on vielä sovellusluokka, joka perii yleisen sovelluksen ominaisuudet. Joissakin kirjastoissa sovellus- ja ikkunaluokka on yhdistetty (esim. LAF).

Kirjastojen "pääohjelma" ei välttämättä ole WinMain eikä main. "Pääohjelmassa" luodaan yleensä sovellusluokka ja sitten kutsutaan sovellusluokan run-funktiota, joka käytännössä pyörittää ohjelman viestisilmukkaa.


Prev Next Up Title Contents Index