Olá, Lucas! Como vai?
Entendo sua dúvida sobre o uso do override e super em Dart. Quando você utiliza o override em uma função que está sendo sobrescrita, você está indicando que aquela função está substituindo a implementação da função na classe base.
No caso do super, ele é utilizado para chamar a implementação da função na classe base. Quando você utiliza o super em uma função que está sendo sobrescrita, você está chamando a implementação da função na classe base antes de executar o código adicional que você escreveu na função sobrescrita.
Portanto, quando você utiliza o super em uma função que está sobrescrevendo outra função que também utilizou o super, a função na classe base será executada primeiro, seguida pela função sobrescrita na classe derivada.
Por exemplo, suponha que você tenha uma classe base chamada Alimentos com uma função chamada comer() e uma classe derivada chamada Frutas que sobrescreve a função comer(). Se você utilizar o super.comer() dentro da função comer() em Frutas, a implementação da função comer() em Alimentos será executada primeiro, seguida pela implementação da função comer() em Frutas.
Caso você não queira que o segundo override seja executado, você pode simplesmente não utilizar o super dentro da função sobrescrita em Frutas.
Espero ter ajudado a esclarecer sua dúvida! Se tiver mais alguma pergunta, é só me dizer. Bons estudos!