OOP - Differences between Methods and Functions

The difference between methods and function is more of semantics (language) than syntax (actual code)

//Code Sample. We will refer to this later.
class Car {
    private String name;
    private String color;
    private int topSpeed;

    public Car(String name, String color, int topSpeed) {
        this.name = name;
        this.color = color;
        this.topSpeed = topSpeed;
    }

    public void accelerate() {
        //vooom!
    }
}

Differences

Method 
  • it is always called using the object of that class in which the method is written. In other words, it is a piece of code that is called by a name that is associated with an object.
  • it is implicitly passed on the object on which it was called.
  • It is able to operate on data that is contained within the class (remembering that an object is an instance of a class - the class is the definition, the object is an instance of that data).
val car = Car ("polo", "Green", 200)
car.accelerate()

Function
  • a function is a method which you can call without creating objects. In other words, a function is a piece of code that is called by name and is not associated with an object.
  • It can be passed data to operate on (i.e. the parameters) and can optionally return data (the return value).
  • All data that is passed to a function is explicitly passed.
class HelloWorld{
 fun main(args: Array<String>){
   greet()
 }
 fun greet(){
     println("Hello World!")
 }
}

Comments

Popular posts from this blog

How to select Multiple Item in RecyclerView in Android

Android Clipboard Listener - How to Know when User copies a text in Android

Kotlin: Array vs List - Similarities and Differences