I would really like to see how this would look like using "Composition over Inheritance" https://en.wikipedia.org/wiki/Composition_over_inheritance
I think, assembling a washing machine from components makes much more sense also when looking at the real world. a machine does not inherit anything from machine B — they aren't biological creatures. But they might be assembled from the same or different modules into different configuration.
Seriously: Inheritance has not proven itself over time. we should stop using it. Like GoLang, that is a truly OO language but does not have subclassing. Also SwiftUI is not based on classes or inheritance.
Inheritance leads to the coder lying to the compiler, as important aspects aren't visible to it, like: in which order do I have to call the super implementation of a method? or do I need to subclass another in conjunction. this is all found in the docs — or stackoverflow — but it necessity proves that classes fail at their core promise of being black boxes.
The shortcoming of classes have been discussed for quite some time (all my career — now in the second decade of it's making) — especially inheritance — and we should at least mention those discussion when we write about such topics.