🧩 Composición: un obxecto que contén outros
Un profesor é unha persoa: iso encaixa coa herdanza. Un curso ten un profesor: podemos gardar ese obxecto nun atributo. A isto chamámoslle composición.
En Flutter construiremos interfaces colocando uns obxectos dentro doutros. Antes podemos practicar a mesma idea sen widgets.
🧪 Exemplo completo: un curso cunha acción de aviso
O curso recibe un profesor, unha lista de alumnos e unha función.
🔗 Ver o código en DartPad — https://dartpad.dev/?id=1d70cd508b33eaf3788be6b62fbac323
🔔 Que é o callback deste exemplo?
É a función aoComezar: o curso recíbea e execútaa cando comeza a clase. Xa vimos funcións como valores no Tema 2.1; agora gardamos unha nun atributo.
| Expresión | Que fai? |
|---|---|
avisar | Pasa a función para usala despois. |
avisar() | Executa a función nese momento. |
() => avisar() | Crea unha función que chamará a avisar cando se execute. |
No exemplo, aoComezar: avisar() sería incorrecto: executaría o aviso e non proporcionaría a función que o construtor espera.
📱 En Flutter atoparás este patrón en
onPressede outros eventos.VoidCallbacké un nome usado por Flutter para o tipovoid Function().