COM software is implemented in terms of component objects or objects--hence the name "Component Object ModelÞÝ". Every COM object is an instance of a COM class or coclass.
The terminology here is intentionally similar to that used in object-oriented programming languages: a coclass describes the complete set of properties and behavior in a software component, while a COM object is a run-time instance of a coclass. More than one instance of a particular coclass can exist at a time, just as you might have several instances of <integer> in a Dylan program.
For example, suppose you implemented an online help viewer as a coclass. The coclass would be implemented as part of a server component--an EXE, DLL, or OCX. Client applications that wanted to provide an online help system could do so by asking the server application to create an instance of the help viewer coclass. Once the help viewer object was created, the client could get hold of the appropriate interfaces and use them to send the help viewer some text to display. Multiple viewer objects of the same coclass could be instantiated if necessary.