Class Drivers don't necessarily have to be object-oriented at all. and indeed class drivers predate OO programming, which is merely one way to implement class/port drivers.
under VMS, for example, Class drivers are used to implement common functions across many different types of devices.
"Drivers that had multiple physical layers were broken into "port/class" drivers. A class driver was a higher layer driver that implemented the common functionality across the differing ports. A port class driver specifically addressed a particular port type. Exemplifying this is the TTY driver, which was recoded as a CLASS (serial terminals) driver and PORT drivers (serial port, telnet port, console port, port over DEC's LAT protocol, etc.)"