Alguém sabe o que o Robert Sebesta diz sobre isso?
Bom, a assinatura de um método é composta pelo Nome, Quantidade, Tipo e Ordem dos parametros.
Você não poderá ter dois métodos com o mesmo retorno, parametros e tipos iguais, mas poderá ter métodos com o mesmo nome caso o número de parametros seja diferente ou caso o tipo dos parametros seja diferente entre eles.
Bom, este é um tema muito polemico. Pois existem autores que dizem que o retorno faz parte da assinatura, e outros dizem o contrário. Isto é, é uma algo complicado de se falar.
Até por que se existir um método que o tipo seja double, ele poderá retornar outro tipo (ex: int). Pela minha análise, isso passa a interpretação de que o retorno não faz parte da assinatura do método, pois caso fosse ele deveria retornar somente double. (tudo isso ao meu ponto de vista).
Segundo Robert Sabesta, a assinatura é o jeito de identificar um método de forma única. Em linguagens onde vários métodos podem ter o mesmo nome, você precisa ter uma outra forma de evitar a ambiguidade. O compilador precisa saber qual dos métodos com mesmo nome você está chamando. Então você precisa se valer de informações extras disponíveis no método para tomar uma decisão. O mais comum é analisar os parâmetros. Se todos os parâmetros forem iguais, você tem o mesmo método, se apenas um desses parâmetros for diferente, você tem um método diferente. É possível que o retorno e outras informações possam ser analisadas também, mas isto não é comum já que podem trazer alguns problemas. Por igual entenda que a ordem também é importante.
Para escrever sua resposta aqui, entre ou crie uma conta
Programação Orientada A Objetos
•UNIP
Programação Orientada A Objetos
•UNIP
Engenharia de Software e Engenharia de Requisitos
Compartilhar