Inheritance is defined by how many attributes are applied to a device at different points in the device hierarchy.
The following diagram shows an example of how and where zProperties can be set throughout the device class tree.
In this example, you can see that the default properties can be set at the highest level (/), as you go further down the hierarchy, though, you can see that you can override any of the zProperties set at the root level. The next two lines show how the device tree further defines properties for Linux servers. If you wanted to set up and use SNMP monitoring for all Linux servers (inclusive of) build.zenoss.loc, you can change these properties at the /Server/Linux level. Now if you wanted to change how you collected information for remote Linux servers, you can create a sub-group within the /Server/Linux group called /Server/Linux/Remote and set these servers will use SSH monitoring and change the associated properties for that sub-group. Now also within the /Server group you can create another sub-group for Windows servers that change the zProperties specifically for WMI monitoring. All of these zProperties and groupings co-exist with any changes made lower in the hierarchy taking priority. It is very similar to a directory tree only you can place items in multiple organizers.