Function Overloading in Polymorphism:
A Package containing many functions with same function name and having different types of parameters or different no of same type of parameters is called Function Overloading.
IS
Function fun(a in number,b in number)
Return Number;
Function(a in nember,b in number,c in number)
Return Number;
Function fun(a in number, b in number, c in number, d in number)
Return Number;
End;
Create or Replace Package Body mypack
IS
Function fun(a in number,b in number)
Return number
IS
C number;
Begin
C:=a+b;
End fun;
Function fun(a in number, b in number, c in number)
Return number
IS
D number;
Begin
D:=a+b+c;
End fun;
Function fun(a in number, b in number, c in number, d in number)
Return number
IS
E number;
Begin
E:=a+b+c+d;
End fun;
End;
EXECUTION:
SQL> var x number
SQL> exec :x:=mypack.fun(10,20)
PL/SQL Procedure successfully completed
SQL> Print x
X
----------------------
30
SQL>/
SQL> var x number
SQL> exec :x:=mypack.fun(10,20,30)
PL/SQL Procedure successfully completed
SQL> Print x
X
------------------------
60
A Package containing many functions with same function name and having different types of parameters or different no of same type of parameters is called Function Overloading.
Example:
Create or replace Package mypackIS
Function fun(a in number,b in number)
Return Number;
Function(a in nember,b in number,c in number)
Return Number;
Function fun(a in number, b in number, c in number, d in number)
Return Number;
End;
Create or Replace Package Body mypack
IS
Function fun(a in number,b in number)
Return number
IS
C number;
Begin
C:=a+b;
End fun;
Function fun(a in number, b in number, c in number)
Return number
IS
D number;
Begin
D:=a+b+c;
End fun;
Function fun(a in number, b in number, c in number, d in number)
Return number
IS
E number;
Begin
E:=a+b+c+d;
End fun;
End;
EXECUTION:
SQL> var x number
SQL> exec :x:=mypack.fun(10,20)
PL/SQL Procedure successfully completed
SQL> Print x
X
----------------------
30
SQL>/
SQL> var x number
SQL> exec :x:=mypack.fun(10,20,30)
PL/SQL Procedure successfully completed
SQL> Print x
X
------------------------
60
No comments:
Post a Comment
If you Like my blog Spread it and help friends for whom this blog is useful for their career.