La verdad que te tengo que contestar medio rápido, ya que si tú no trabajaste lo suficientes para simplificarla, yo no voy a trabajar extra para entenderla
La herencia es un mecanismo donde se definen relaciones de "parentesco" (literalmente). Si en tu contexto una clase Smarty "es un" tipo de Vista, la herencia sería correcta (de la misma forma que un "usuario" es una "persona").
Si no tiene nada que ver, no hay una relación de parentesco,
de ninguna forma debes usar la herencia para "heredar código mecánicamente" (valga el juego de palabras).
Existen para eso dos nuevas relaciones: la dependencia y la asociación.
PD: Como dice el colega, lo mejor es mover la consulta ("versión sintética") a la sección POO,
ya que hemos discutido muchas veces estos temas.