sábado, 5 de outubro de 2013

Compreendendo a Sobrecarga de Membro

Como em qualquer linguagem moderna Orientada a Objeto o C# permite que um método seja sobrecarregado. Simplificando, quando você define um conjunto de membros com nomes idênticos, que diferem no número (ou tipo) de parâmetros, diz-se que o membro em questão está sobrecarregado, veja este exemplo:


            static int Add(int x, in y)
            {
                return x + y;
            }
            static double Add(double x, double y)
            {
                return x + y;
            }
            static long Add(long x, long y)
            {
                return x + y;
            }

Utilizando a sobrecarga conseguiremos permitir que o chamador chame um único método chamado Add(). O chamador pode simplesmente chamar Add() com os argumentos necessários e o compilador ficará feliz em concordar, já que o compilador é capaz de resolver a implementação correta para o chamado com os argumentos, veja
            // Chamando a versão int
            Console.WriteLine(Add(10, 10));

            // Chamando a versão long
            Console.WriteLine(Add(500000000000, 500000000000));

            // Chamando a versão double
            Console.WriteLine(Add(7,5, 9,5));
 Bons estudos.

0 comentários:

Postar um comentário