The problem with this beginning is that we are trying to teach OO in a procedural way, as if fields, methods and inheritance were its foundations; but the real foundations are classes, responsibilities and collaborations.