¿Pedir por pantalla unos valores de notas es complejo?
Estoy con GusGarsaky, si no se puede comprobar que los datos se han introducido correctamente ¿cómo alguien va a valorar si el programa está bien hecho?
En este caso no veo la herencia por ninguna parte, como mucho usuaría enum para los 4 tipos de comportamiento.