Why does the function arguments are called as "signatures"?
Answers were Sorted based on User's Feedback
Answer / arul
The arguments distinguish functions with the same name
(functional polymorphism). The name alone does not
necessarily identify a unique function. However, the name
and its arguments (signatures) will uniquely identify a
function.
In real life we see suppose, in class there are two guys
with same name, but they can be easily identified by
their signatures. The same concept is applied here.
ex:
class person
{
public:
char getsex();
void setsex(char);
void setsex(int);
};
In the above example we see that there is a function setsex
() with same name but with different signature.
Is This Answer Correct ? | 14 Yes | 2 No |
In the dynamic polymorphism the control has to distinguish
each function from other functions which has the same
function name.With the help of each method or function
arguments the control executes the function call,whenever it
is made.Each function call will be executed based on the
arguments passed.This is the reason, each function name
including the parameters or arguments has it own identity,
and this identification for the function is called
signature.Based on the signature, the control jumps from one
function to another in run time of the program.
Is This Answer Correct ? | 1 Yes | 0 No |
Answer / some guy
Actually, the answer is not complete, so as question is
not, let's say, "perfect". "signature" is not arguments
only, but plus "const"ness. For example in example above,
in class person there could be absolutely legal to have two
functions:
char getsex();
char getsex() const;
Though the answer would be ABSOLUTELY correct, so as the
question, in case we're talking about "functions" and NOT
about "member functions"
Is This Answer Correct ? | 1 Yes | 1 No |
Answer / ash
As function name, return type and arguments helps to
identify the function which needs to be invoked hence the
name signatures. In polymorphism there can be function
overload hence args and ret type along with name are required.
Is This Answer Correct ? | 0 Yes | 0 No |
Do we require parameter for constructors?
Explain about uml?
What is the difference between data hiding and implementation?
Explain serialization and overriding?
Can I implement polymorphism using abstract class?
Explain about encapsulation?
Difference between composition and inheritance ?
What is overriding?
How can we call the base method without creating an instance?
Difference between class and an object?
Differentiate between a class and a method.
Can a class in java be inherited from more than one class?