Si esta bien, pero te hago un par de observaciones.
En el constructor asignale un valor por default, por ejemplo -1 asi cuando creas un nuevo material no tenes que especificar nada mas que new Material()
Código PHP:
Ver originalpublic function __construct($id_material = -1)
Despues el punto y coma no va en el metodo add
Código PHP:
Ver originaladd($Idatos;) //<- Este punto y coma no va, es error de sintaxis
Y por ultimo en la sentencia insert, recorda que los campos de texto van encerrados entre comillas.
Código PHP:
Ver original$sql = .. VALUES( '".$this->nombre."' ..
Despues creo que te deberia andar.
Saludos.