Download presentation

Presentation is loading. Please wait.

Published byRamiro Scull Modified about 1 year ago

1
How do Methods Work?

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

3
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.

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

5
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.

6
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; }

7
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; }

8
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; }

9
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..

10
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

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

12
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 …

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

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

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

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

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

18
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.

19
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

20
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.

21
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

22
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

23
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.

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

25
static int add(int n1, int n2) { int sum = n1 + n2; return sum; } n1 n2 sum 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.

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

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

28
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.

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

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

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

Similar presentations

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google