No vídeo ele fala que para trabalhar com parâmetros opcionais teria que ser público, mas no Flutter atual você pode continuar utilizando parâmetros nomeados privados e opcionais:
class Editor extends StatelessWidget {
final TextEditingController _controlador;
final String _rotulo;
final String _dica;
final IconData? _icone;
const Editor(
{Key? key,
required TextEditingController controlador,
required String rotulo,
required String dica,
IconData? icone})
: _controlador = controlador,
_rotulo = rotulo,
_dica = dica,
_icone = icone,
super(key: key);
@override
Widget build(BuildContext context) {
return Padding(
padding: const EdgeInsets.all(16.0),
child: TextField(
controller: _controlador,
keyboardType: TextInputType.number,
style: const TextStyle(fontSize: 24.0),
decoration: InputDecoration(
icon: _icone != null ? Icon(_icone) : null,
labelText: _rotulo,
hintText: _dica,
),
),
);
}
}