Within the Workplace Shell there are many folder and printer icons; one for each folder or attached printer in the system. There are two issues here: When we see multiple printers icons, do they refer to the same printer or to different printers, and do they share the same code?
Multiple copies of folders refer to different folders but they all share the same program. They are instances of the same folder class. Multiple copies of printers may look similar but may actually be instances of different printer classes.
To understand this, you have to understand something about the structure of the Workplace Shell and the System Object Model (SOM) which it is built on. Through inheritance, the System Object Model provides folders, work areas and other types of container objects which share their common code so the programmer only has to code the differences. SOM allows multiple instances of each class to be created and manages the memory, pointers, etc. for each of them. It also, through inheritance, allows instances of different classes to be created which look the same and share a significant degree of common code.
What happens when multiple instances of a data file are created depends on the technique used to create the object. If you perform a copy, then a new file and file EAs are created in the directory corresponding to the folder which the file was created in. The file name and all the other details are copied verbatim. Here, each copy is a new instance of the WPDataFile class and can be modified without affecting the original file.
If you create the copies in the same directory as the original, however, the operating system settings determine what happens when you try to copy a file into a directory which already contains a file of that name. As a default, the WPS will add a suffix to the file name and icon descriptive text; for the first copy a "1" is added, for the second a "2", and so on. The same thing happens if you create a copy in a different directory but then drag it back into the original directory while the original file is still there. This mechanism prevents you from accidentally overwriting copies of your work, but it can be frustrating when you are trying to replace an out-of-date version of a file.
You can also make multiple instances of the same file using the shadow copy facility. Here, the shadow copy is an abstract object, stored as a HOBJECT pointer in OS2.INI which points back to the original file. In both cases, we have multiple instances of icons, but what the icons represent are instances of different classes with different characteristics. Here, when you modify the copy you are also affecting the original file.