Om du inte har allm„n f”rst†else f”r Skrivbordsklasser se "Skrivbordets klasser".

I allm„nhet i objektorienterad programmering „r en klass  en abstrakt definition av b†de (1.) datatyper och (2.) handlingar som kan utf”ras p† dessa data. De senare kallas vanligen f”r objekt metoder.

Medan klasser bara beskriver en objekttyp p† ett abstrakt s„tt, kallas objekten som verkligen existerar i ett program f”r instans av en s„rskild klass.

Tag ett Skrivbordsprogramobjekt, till exempel: varje programobjekt „r en instans av klassen WPProgram definierad av Skrivbordet. Programobjektdata (1.) „r bland annat den *.EXE som „r associerad med den (t.ex."CMD.EXE") medan (2.) metoder (som kan utf”ras med dessa data) „r att starta programmet (genom att dubbelklicka eller v„lja menyalternativet "™ppna") eller „ndra programmet i inst„llningsblocket. Trots att du inte kan "se" metoder fr†n din sk„rm, s† anv„nds metoder alltid internt n„r Skrivbordet g”r n†gonting. Om du „r obekant med den termen, kan metoder vagt beskrivas som en Application Programmer's Interface (API) till ett objekt. Om du kan REXX; varje g†ng du anv„nder en av objektinst„llningsstr„ngarna, f”r att modifiera ett objekts data, s† anropar du faktiskt en metod f”r ett objekt.

Eftersom metoder „r definierade f”r varje klass, s† beror metoderna som du kan anropa ett objekt p† dess klass. Jag har inte r„knat dem, men WPObjekt, den mest basala Skrivbordsklassen, definierar mer „n 100 metoder.

Vad som g”r objektorienterad programmering s† flexibel (och popul„r) „r att du kan definiera sl„ktskap mellan klasser. F”r att f”rst† detta „r f”ljande tv† koncept till hj„lp:

F”r detaljer om vad klass”verlagring „r, titta i "Skrivbordets klasslista" i "Introduktion" sektionen.

Medan arv och polymorfism „r koncept k„nda f”r varje objektorienterad programmilj” (och ocks† f”r objektorienterade spr†k, som C++), kan Skrivbordet „ven tillhandah†lla sina f”rdelar ”ver †tskilliga applikationer. Skrivbordet best†r av m†nga DLL:er som „r delvis oberoende av varandra och programmerare utanf”r IBM kan ut”ka Skrivbordet genom att anv„nda dessa funktioner utan att ha Skrivbordets k„llkod, vilket inte „r m”jligt med "normala" objektorienterade spr†k.

Det fungerar bara d„rf”r att Skrivbordet anv„nder IBMļs egen System Objekt Modell (SOM), ett komplext system som ger objekt-orienterad programmeringsgr„nssnitt „ven ”ver †tskilliga kodmoduler och „ven oberoende av programmeringsspr†k. SOM „r s† kraftfullt d„rf”r att klasser skapas direkt vid systemstart och finns kvar under k”rning ist„llet f”r kompilering.

Det „r h„r Skrivbordsklasslistan kommer in: n„r Skrivbordet uppstartas, skapar det alla klasser (vilka i SOM „r objekt ocks†, men det „r en komplex fr†ga) och etablerar sl„ktskapen mellan dem bara vid denna punkt. Enbart p† grund av detta „r det m”jligt att modifiera klasser utan att IBM, som skapade originalen, ens k„nner till det.

Bara en kort personlig †sikt om det som g”r OS/2 unikt i dagens datav„rld. Medan de flesta av dess andra f”rdelar framf”r andra operativsystem, som dess p†litliga multik”rning, inte „r s† unika l„ngre (t.ex. Linux „r ocks† ganska bra p† det), s† „r anv„ndargr„nssnittet fortfarande f”rspr†ng ”ver alla operativsystem jag k„nner till, speciellt d† Windows 95.