# How do Methods Work?. Let’s write a method that adds two integer values together and returns the result.

## Presentation on theme: "How do Methods Work?. Let’s write a method that adds two integer values together and returns the result."— Presentation transcript:

How do Methods Work?

Let’s write a method that adds two integer values together and returns the result.

static int add(int n1, int n2) { int sum = n1 + n2; return sum; } This specifies the return type of the method. That is, this method will return an integer. Methods can only return one thing.

static int add(int n1, int n2) { int sum = n1 + n2; return sum; } This is the name of the method.

static int add(int n1, int n2) { int sum = n1 + n2; return sum; } These are the method’s parameters. A method can have any number of parameters, including none. The Parameters define the variables passed to the method when it is invoked.

A complete program using the add( ) method using System; class Program { static void Main() { int var1 = 8; int var2 = 5; int var3 = add(var1, var2); Console.WriteLine(var3); Console.ReadLine(); } // the add method // purpose: adds two integers // parameters: the integers to add together // returns: the sum static int add(int n1, int n2) { int sum = n1 + n2; return sum; }

A complete program using the add( ) method It is common to put the code for the method following Main( ) using System; class Program { static void Main() { int var1 = 8; int var2 = 5; int var3 = add(var1, var2); Console.WriteLine(var3); Console.ReadLine(); } // the add method // purpose: adds two integers // parameters: the integers to add together // returns: the sum static int add(int n1, int n2) { int sum = n1 + n2; return sum; }

A complete program using the add( ) method This is the line of code that actually calls, or invokes, the method. Two values are passed to the method. The method returns a value which is then stored in var3. using System; class Program { static void Main() { int var1 = 8; int var2 = 5; int var3 = add(var1, var2); Console.WriteLine(var3); Console.ReadLine(); } // the add method // purpose: adds two integers // parameters: the integers to add together // returns: the sum static int add(int n1, int n2) { int sum = n1 + n2; return sum; }

int var1 = 8; int var2 = 5; int var3 = add(var1, var2); Looking at the method call in more detail … The values of 8 and 5 get passed to the method..

var1 var25 8 add Let’s Investigate what happens … We will treat the method as a black box. It is important to note that we can’t see inside. var3

var1 var25 8 add Let’s Investigate what happens … We know what a method does by reading it’s prologue. var3

var1 var25 8 Make a copy of the variables. We don’t want the add method to change the original variables. add var3 Let’s Investigate what happens …

var1 var25 8 Make a copy of the variables. add 8 var3 Let’s Investigate what happens …

var1 var25 8 Make a copy of the variables. 8 add var3 Let’s Investigate what happens …

var1 var25 8 Make a copy of the variables. 8 add var3 5 Let’s Investigate what happens …

5 add Pass the copies of the variables to the method var1 var25 8 var3 8 Let’s Investigate what happens …

5 add Pass the copies of the variables to the method var1 var25 8 var3 Let’s Investigate what happens …

Inside of the Black Box static int add(int n1, int n2) { int sum = n1 + n2; return sum; } These are the method’s formal parameters. Notice that when inside of the box, we can’t see out.

static int add(int n1, int n2) { int sum = n1 + n2; return sum; } n1 n2 sum These variables are local to the method. They only exist inside of the box. Inside of the Black Box

static int add(int n1, int n2) { int sum = n1 + n2; return sum; } n1 n2 sum 5 Inside of the Black Box Here comes the first value passed to the method.

Inside of the Black Box static int add(int n1, int n2) { int sum = n1 + n2; return sum; } n1 n2 sum 8 It gets stored in the local variable n1. 8

static int add(int n1, int n2) { int sum = n1 + n2; return sum; } n1 n2 sum 5 8 Here comes the second value passed to the method. Inside of the Black Box

static int add(int n1, int n2) { int sum = n1 + n2; return sum; } n1 n2 sum 8 5 Inside of the Black Box 5 It gets stored in the local variable n2.

static int add(int n1, int n2) { int sum = n1 + n2; return sum; } n1 n2 sum 8 5 13 Inside of the Black Box Now the code of the method is executed.

static int add(int n1, int n2) { int sum = n1 + n2; return sum; } n1 n2 sum 8 5 13 Inside of the Black Box We need to pass sum back to the point where the method was called. So, we make a copy of sum.

static int add(int n1, int n2) { int sum = n1 + n2; return sum; } n1 n2 sum 5 8 13 Inside of the Black Box … and pass it back to the caller.

static int add(int n1, int n2) { int sum = n1 + n2; return sum; } n1 n2 sum 5 8 13 Inside of the Black Box … and pass it back to the caller.

int var1 = 8; int var2 = 5; int var3 = add(var1, var2); Looking at the method call in more detail … The method returns the value of 13 right here. The value is assigned to var3.

add Get the result var1 var25 8 var3 Let’s Investigate what happens … 13

var1 var25 8 Store the returned value in the variable that it was assigned to. add var3 13 Let’s Investigate what happens …

var1 var25 8 add var3 13 Let’s Investigate what happens … We’re Done!

Download ppt "How do Methods Work?. Let’s write a method that adds two integer values together and returns the result."

Similar presentations