Supongamos que tenemos una empresa y queremos hacer un modelado de clases según el puesto o cargo que ocupen los distintos miembros.
Tendríamos la clase abstracta persona que podría tener los siguientes atributos:
- nombre
- dni
- edad
- antiguedad en la empresa
luego podríamos tener la clase empleado que heredaría los atributos de persona y además podría llevar:
- sede
- turno
- puesto
y por ejemplo otra que podría ser de los directores:
- departamento
- empleados a su cargo
Si te das cuenta ambas clases comparten los atributos genéricos de la clase persona y ambas tienen sus atributos específicos, pero en este caso, crear un objeto instanciando a persona sería insuficiente para resolver nuestro problema, por eso necesitamos esa clase abstracta (genérica) que no se instancia y si instanciamos a director o empleado que son clases derivadas de la clase persona y que heredan sus atributos.
No se si el ejemplo que puse es el más correcto y no se si me expliqué del todo bien pero eso es más o menos la idea



(en la barra del explorador ya estan cambiados