Junto con la herencia nos encontramos un tema bastante interesante: Las clases y métodos abstractos. Prácticamente podemos “obligar” a nuestros objetos a que implementen ciertos métodos y mismos métodos pueden diferir en funcionalidad de acuerdo al modo en que son creados.