I "Skrivbord" objektet finns en sida "Skrivbordsklasser", d„r du kan p†verka Skrivbordsklasslistan.
F”r att kunna anv„nda denna sida, kr„vs f”rst†else f”r vad Skrivbordklasser faktiskt g”r. F”ljande information hj„lper dig med detta.
Du har s„kert h”rt att OS/2 Skrivbordet „r "objektorienterat". Denna term inneb„r -- i motsats till andra anv„ndargr„nssnitt, s†som Windows 3.1 -- att allt Skrivbordet hanterar „r "objekt": det g„ller, till exempel f”r filer, mappar, skrivare, enheter etc. Alla dessa objekt har vissa gemensamma karakt„ristika, som menyer och inst„llningsblock, men skiljer sig i vissa andra t.ex. vad du ser i en meny skiljer sig mellan olika objekt.
F”r att kunna hantera dessa gemensamma och olika karakt„ristika b„ttre anv„nder Skrivbordet "klasser". Denna term har tagits fr†n objektorienterad programmering; en klass „r ett abstrakt beskrivning p† ett objekt. En klass „r d„rf”r inte synlig p† Skrivbordet och den "existerar" inte p† det s„tt som ett objekt g”r, utan den inneh†ller all information om egenskaper och f”rm†gor hos ett objekt.
Varje objekt p† Skrivbordet „r en "instans" av en klass. Namnen p† de flesta Skrivbordsklasser b”rjar med "WP"; till exempel en skrivare „r en instans av "WPPrinter" klassen, en mapp „r en instans av klassen "WPFolder", en datafil av "WPDataFile" etc.
K„llan till kraften och flexibiliteten f”r klasskonceptet „r att olika klasser kan h„rstamma fr†n andra. En klass som h„rstammar fr†n en annan klass „rver sina egenskaper och f”rm†gor. Det „r d„rf”r m”jligt att g”ra vissa funktioner av anv„ndargr„nssnittet mer abstrakta, enligt den gamla principen: det b„sta s„ttet att hantera komplexitet „r abstraktion.
Klasskonceptet kan till„mpas p† saker i den "verkliga" v„rlden f”r att klarg”ra det: till exempel, t„nk p† klasserna "Djur", "D„ggdjur", "Hund" och "Katt". Klasserna "D„ggdjur" h„rstammar fr†n "Djur" klassen, medan "Hund" och "Katt" h„rstammar fr†n "D„ggdjur". Din egen hund „r d† en instans av "Hund" klassen. Dess beteende best„ms av klasserna "Djur", "D„ggdjur" och "Hund" tillsammans.
Skrivbordet inneh†ller m†nga klasser, som bildar en mycket genomt„nkt arvshierarki. F”ljande utdrag fr†n Skrivbordsklasslistan kan klarg”ra den allm„nna strukturen (d„r linjerna betyder arv):
WPObject ÃÄÄ WPAbstract ³ ÃÄÄ WPPrinter ³ ÃÄÄ WPProgram ³ ÀÄÄ WPShadow ÃÄÄ WPFileSystem ³ ÃÄÄ WPDataFile ³ ³ ÃÄÄ WPIcon ³ ³ ÀÄÄ WPProgramFile ³ ÀÄÄ WPFolder ³ ÃÄÄ WPDesktop ³ ÀÄÄ WPStartup ÀÄÄ WPTransient
WPObject har bara tre avkomlingsklasser. Alla dessa klasser „r -- i likhet med WPObject -- bara t„nkta att vara abstrakta f”r„lderklasser av vilka inga objekt direkt skall existera.
Alla Skrivbordsklasser ligger i dynamic link bibliotek (fil„ndelse .DLL). Till exempel, de flesta av Skrivbordets standardklasser ligger i den stora PMWP.DLL filen i \OS2\DLL katalogen. Alla XFolderklasser ligger i XFLDR.DLL i XFolder installationskatalog.
Med denna teknik kan programmerare l„gga till nya funktioner till en klass utan i detalj beh”va veta hur en viss klass internt fungerar. Det „r ett enast†ende och kraftfullt koncept som fortfarande bara OS/2 erbjuder.
Notera om du f”rs”ker att avregistrera vissa OS/2 systemklasser (som du normalt „nd† inte skall g”ra), kommer det f”rmodligen att inte ha effekt om DLL:n inneh†llande den klassen inrymmer andra Skrivbordsklasser som fortfarande „r registrerade. Det g„ller speciellt f”r OS/2 Warp 4 Multimediaklasser: alla dessa finns i MMPARTS.DLL och s† l„nge en av dessa klasser fortfarande „r registrerad, laddas alla multimediaklasser fortfarande, „ven om de inte finns i Skrivbordsklasslistan.
Detta „r bara en kortfattad introduktion till Skrivbordsklasslistan. Om du ”ppnar "Skrivbordklasser" sidan i "Skrivbord" objektet, kommer alla klasser installerade i ditt system att visas. Vanligen syns mer „n 100 klasser i tr„dstruktur. Med menyer kan du registrera, ers„tta och avregistrera klasser samt †ngra klass”verlagringar.
Notera att du skall vara mycket noggrann n„r du „ndrar Skrivbordsklasslistan. Med denna sida kan du g”ra ditt OS/2 system oanv„ndbart p† sekunder!
Tryck p† "Hj„lp" knappen p† sidan f”r att
f† mer detaljer.