Download presentation

Presentation is loading. Please wait.

Published byRamiro Scull Modified over 3 years 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 8 5 13 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 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.

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

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

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

Presentation is loading. Please wait....

OK

1 CS161 Introduction to Computer Science Topic #10.

1 CS161 Introduction to Computer Science Topic #10.

© 2018 SlidePlayer.com Inc.

All rights reserved.

To make this website work, we log user data and share it with processors. To use this website, you must agree to our Privacy Policy, including cookie policy.

Ads by Google