Generellt, i objekt-orienterad programmering, „r en klass en abstrakt definition av b†de (1.) datatyper och (2.) aktioner som utf”rs p† datat. Det senare „r allm„nt k„nt som objekt metoder.

Medan klasser endast beskriver en objekttyp p† ett abstrakt s„tt, kallas de objekt som verkligen existerar i ett program bel„gg f”r en speciell klass.

Ta ett WPS programobjekt, till exempel: varje programobjekt „r ett bel„gg f”r klassen WPProgram, definierat av WPS. (1.) data av programobjektet skulle vara, bland annat, den exekverbara associerad med (dvs. "CMD.EXE"), medan (2.) metoden (som kunde anv„ndas p† detta data) vore att starta den exekverbara (genom att dubbel-klicka eller v„lja menyposten "™ppna") eller „ndra den exekverbara i notboken med inst„llningar. Trots att du inte kan "se" metoder fr†n anv„ndarinterfacet, anv„nds metoder hela tiden internt varje g†ng WPS g”r n†gonting. Om du „r bekant med den termen, kan metoder vagt beskrivas som ett Application Programmer's Interface (API) f”r ett objekt. Om du k„nner till hur man programmerar REXX: varje g†ng du anv„nder en av objektets setupstr„ngar f”r att modifiera ett objekts data, anropar du i praktiken en metod f”r objektet.

Eftersom metoder „r definerade f”r varje klass, „r de metoder som du anropar f”r ett objekt beroende p† klassen hos objektet. Jag har inte r„knat dom, men redan WPObject, den mest grundl„ggande WPS klassen, definerar mer „n 100 metoder.

Det som g”r objekt-oriented programmering s† flexibel (och popul„r) „r att du kan definiera relationer mellan klasser. F”r att f”rst† det, „r f”ljande tv† koncept v„rdefulla:

Medan arv och polymorfism „r koncept k„nda av varje objekt-orienterad programmeringsmilj” (och „ven hos objekt-orienterade spr†k, som C++), „r Workplace Shell „ven kapabelt att erbjuda sin f”rdelar f”r flera applikationer. WPS best†r av m†nga DLL'er vilka „r i sak oberoende av varandra, och programmerare utanf”r IBM kan ut”ka WPS genom att anv„nda dessa funktioner utan att k„nna till WPS's k„llkod, vilket inte „r m”jligt med "normala" objekt-orienterade spr†k.

Det enda sk„let till att det fungerar „r att WPS anv„nder IBM's egen System Object Model (SOM), ett komplext system vilket erbjuder objekt-orienterade programmeringsinterface „ven ”ver †tskilliga kodmoduler, och „ven oberoende av programmeringsspr†k. SOM „r s† kraftfullt d„rf”r att klasser „r ”gonblickliga och underh†lls vid k”rningstiden ist„llet f”r vid kompileringen.

Detta „r, f”rresten, d„r WPS klasslista kommer in: n„r WPS bootas upp, skapar alla klasser (vilka, i SOM, ocks† „r objekt, men det „r en komplicerat sak), och endast etablerar relationerna mellan dom vid den h„r tidpunkten. Endast tack vare detta „r det m”jligt att modifera klasser utan IBM, vilka skapade originalen, utan att k„nna till dom.

Bara en kort personlig †sikt, detta „r fortfarande n†got som g”r &os2; unikt i dagens datorv„rld. Medan de flesta andra f”rdelarna ”ver andra operativsystem, som dess p†litliga multitasking, inte „r s† unika l„ngre (t.ex. Linux „r r„tt bra p† det ocks†), „r anv„ndarinterfacet fortfarande ouppn†tt av andra operativsystem som jag k„nner tilI. Speciellt inte Windows 95.