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 |
What is early and late Binding?
Can a class in java be inherited from more than one class?
What are abstract classes?
Can we have a default method definition in the interface without specifying the keyword "default"?
Why is java not fully objective oriented?
What is a Persistent, Transient Object?
What are associative classes?
3 Answers InfoAxon Technologies, Protech,
Every object has : state, behavior and identity - explain
2 Answers InfoAxon Technologies, Protech,
What is the default access modifier in a class?
USECASE is an implementation independent notation. How will the designer give the implementation details of a particular USECASE to the programmer?
Is is possible to define our own functional interface?
How to resolve many to many relationship?
6 Answers InfoAxon Technologies, Protech, Samsung,