наверно в вашем случае нужен паттерн проектирования Фабричный метод.
class MaterialFactory
{
public static function build($type)
{
// тут генерим путь до класса на основе его типа
return new $className();
}
}
class Material
{
public function save()
{
// тут свои действия
}
}
class SuperMaterial
{
public function save()
{
// тут другие действия
}
}
потом в вашем методе
public function save($one,$type){
$obj = MaterialFactory::build($type);
$obj->save();
}
но схему можно ещё улучшить, всё зависит от текущего вашего кода