Complex examples make things harder to understand.
There's the difference between learning something simple by an example and between producing professional & optimal code.
Both in technical books, as well as on Universities - teachers teach one problem solution at a time, using knowledge taught & practiced earlier by students as well.
Professionals still strive for simplicity, for creating 'objects' that handle their responsibilities - their tasks - as elegantly, as shortly & as concisely as possible.
But professionals know much, use advanced tools & known theories to handle the programming eloquently & optimally.
Objects interrelations make code more complex, it's often better to make things work together, best from a perspective of whole groups of objects collaborating - instead of simplifying their behaviors to simplest behaviors considering each of objects in separation of other objects.
Walking one dog is far different than handling a sleigh with a twelve husky hounds afterall.