Hola.
 
Llevo un tiempo programando unas clases y como todo empezo por aprender, pues ya han llegado a un punto donde tengo que tomar unas reglas para que no sea un caos. 
El caso es que tengo la siguiente jerarquía :
- Clase SYSTEM (envia emails, genera claves y poco mas)
 - Clase HTML hereda de SYSTEM (para escribir paginas HTML)
  - Clase MYSQL hereda de HTML (para todo el tema de MySQL)
   - Clase BROWSER hereda de MYSQL ( es un browser de mantenimiento de tablas) 
El tema es que con el siguiente codigo : 
 Código PHP:
    <?php
session_start();
include("inc/seguridad.inc.php");
    
// incluimos la clase base y creamos el objeto
include('clases/jcrMtBrowser.php');
// Iniciamos el Objeto
$oPage = new jcrMtBrowser();
$oPage->Conectar();
// .... agunas cosillas que he quitado
$oPage->Inicializa();
// quitamos la ayuda
$oPage->setOpcionAyuda(false);
// solo pueder clonar el super-admin
if ($_SESSION['nNivel'] < 9) { $oPage->setOpcionClonar(false); }
// -----------------------------------------------------------------------------------------------------------------
//
// INICIO HTML    
//
// -----------------------------------------------------------------------------------------------------------------
$oPage->HtmlIni(1,false);
    
// HEAD
$oPage->HEAD($_SESSION['EMPRESA'].' - Intranet');
$oPage->CSS('templates/default/css/intranet.css');
$oPage->JS('js/stmenu.js');
$oPage->endHEAD();
    
//BODY
$oPage->BODY();
$oPage->TABLE('principal','width="100%" height="100%"  border="0" align="center" cellpadding="0" cellspacing="0"');
$oPage->TR();
$oPage->TD('valign="top"');
    
    // cabecera
    include("inc/cabecera.inc.php");
$oPage->TR();
$oPage->TD('valign="top" height="100%"');
        
    // cuerpo
    $oPage->TABLE('cuerpo','width="100%"  border="0" align="center" cellpadding="0" cellspacing="0"');
    $oPage->TR();
    $oPage->TD('valign="top" align="center"');
    
        $oPage->Ejecutar('sys_tablas_mt.php?tabla='.$LocalTablaID,$LocalTablaID); 
    $oPage->endTABLE();
        
$oPage->TR();
$oPage->TD('valign="bottom"');
        
    // pie
    include("inc/pie.inc.php");
        
// fin de la tabla principal
$oPage->endTABLE();
// fin del html
$oPage->endBODY();
    
//mostramos la pagina
$oPage->Show();
?>    
  Con este codigo tengo un mantenimiento completo, con inserciones, edicion, borrados controlados por clave, filtros, etc. 
Una captura: 
 
 
Mi pregunta, ¿Es correcto lo que hago, o debo crear una clase que use instancias de las otras ? 
No se si me he explicado bien.
Espero opiniones 
Un saludo.