Scala | Method Invocation
Method Invocation is a technique that demonstrates different syntax in which we dynamically call methods of a class with an object.
The naming conventions of Scala are same as of Java, that are:-
- There should not be any space between the invocation object/target and the dot(.) nor a space between the dot and method name.
obj.display(“name”) // correct
obj.display (“name”) // incorrect but legal
obj. display(“name”) // incorrect but legal
- Nor there should not be any space between the method name and the parentheses.
println(“student”) // correct
println (“student”) // incorrect but legal
- The arguments should be separated by a single space and a comma.
obj.display(“name”, 22) // correct
obj.display (“name”, 22) // incorrect but legal
obj. display(“name”, 22) // incorrect but legal
Let’s see methods with different arguments and styles.
Arity-0 : When there are 0 arguments to be passed to the method. Hence it is not mandatory to add parenthesis on methods. It will enhance the readability of the code and omission of parenthesis will reduce the number of characters to some extent.
obj.display() //correct
obj.display //correct
Arity-1 : When there is only 1 argument to be passed to the method of arity-1. This rule should be used for purely-functional programming or the methods that take functions as parameters, then it is parenthesis can be avoided around the passed parameter. This type of syntax is also known as infix notation.
Example :
class x
{
def display(str : String) =
{
println(str)
}
}
object GfG
{
def main(args : Array[String])
{
val obj = new x
obj.display( "student" )
obj display ( "student" )
obj display "student"
}
}
|
Output:
student
student
student
Higher order function : A function is called Higher Order Function if it contains other functions as a parameter or returns a function as an output i.e, the functions that operate with another functions are known as Higher order Functions. It is worth knowing that higher order function is applicable for functions and methods as well that takes functions as parameter or returns a function as a result. This is practicable as the compiler of Scala allows to force methods into functions.
Example :
object GfG
{
def main(args : Array[String])
{
val names = Set( "sunil" , "akhil" , "rakhi" )
def captainDesignation = (y : String) => "captain " + y
val result = names.map(y => captainDesignation(y))
println( "Multiplied List is: " + result)
}
}
|
Output:
Multiplied List is: Set(captain sunil, captain akhil, captain rakhi)
Important Points
- These syntax should be followed when there are no side-effects.
- These conventions are used to improve the readability and make the code much easier to understand.
- It can save some space by neglecting some extra characters.
Last Updated :
24 Jun, 2020
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...