Na continuação dos artigos que venho a publicar sobre algumas características que mais me atraem no .NET Framework, apresento hoje o “Overload” de Operadores!
Suponhamos que para um dado projecto, temos que registar para uma equipa o total de golos marcados e golos sofridos no decurso de um conjunto de jogos. Para tal, podemos usar uma classe como a seguinte para representar os dados:
Assim, basta então criar uma instância da nossa classe para guardar os resultados e outras tantas para os jogos, e depois somar tudo!
Para efeitos de demonstração, suponhamos que pretendemos registar o resultado de 3 jogos e depois apresentar o resultado final:
Neste caso, vamos precisamos de somar os valores das propriedades separadamente à nossa instância “total”, como podemos ver dentro do ciclo For; mas podemos evitar este passo, simplesmente indicando ao compilador como é que ele pode somar instâncias da nossa classe!
Introduzimos assim na classe de dados um “overload” ao operador de soma:
De notar que este “overload” é um método estático (Static) e tem a indicação do tipo de dados e do operador a implementar (operator +).
Finalmente, temos apenas de actualizar o nosso código para passar a usar o operador agora criado:
O resultado final é exactamente o mesmo, mas em termos práticos mostra-se uma solução muito mais agradável de implementar do que simplesmente somar as propriedades isoladas!
Existem algumas regras que devem saber antes de se lançaram a criar operadores para tudo o que é classe que usam, pelo que a sua leitura é aconselhada! ![]()








Últimos Comentários
RSS