Methods Writing and using methods, overloads, ref, out SoftUni Team Technical Trainers Software...
-
Upload
adam-willis -
Category
Documents
-
view
228 -
download
2
Transcript of Methods Writing and using methods, overloads, ref, out SoftUni Team Technical Trainers Software...
![Page 1: Methods Writing and using methods, overloads, ref, out SoftUni Team Technical Trainers Software University .](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649e5c5503460f94b550c4/html5/thumbnails/1.jpg)
Methods
Writing and using methods, overloads, ref, out
SoftUni TeamTechnical TrainersSoftware Universityhttp://softuni.bg
![Page 2: Methods Writing and using methods, overloads, ref, out SoftUni Team Technical Trainers Software University .](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649e5c5503460f94b550c4/html5/thumbnails/2.jpg)
Table of Contents
1. Using Methods What is a Method? Why Use Methods? Declaring and Creating Methods Calling Methods
2. Methods with Parameters Passing Parameters Returning Values
3. Best Practices2
![Page 3: Methods Writing and using methods, overloads, ref, out SoftUni Team Technical Trainers Software University .](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649e5c5503460f94b550c4/html5/thumbnails/3.jpg)
MethodsDeclaring and Invoking Methods
![Page 4: Methods Writing and using methods, overloads, ref, out SoftUni Team Technical Trainers Software University .](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649e5c5503460f94b550c4/html5/thumbnails/4.jpg)
A method is a named piece of code Each method has:
Declaring Methods
static void PrintHyphens(int count){ Console.WriteLine( new string('-', count));}
NameReturn type Parameters
Body
![Page 5: Methods Writing and using methods, overloads, ref, out SoftUni Team Technical Trainers Software University .](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649e5c5503460f94b550c4/html5/thumbnails/5.jpg)
5
Methods can be invoked (called) by their name
Invoking Methods
static void PrintHyphens(int count){ Console.WriteLine(new string('-', count));}
static void Main(){ for (int i = 1; i <= 10; i++) { PrintHyphens(i); }}
Method body always surrounded by { }
Method called by name
![Page 6: Methods Writing and using methods, overloads, ref, out SoftUni Team Technical Trainers Software University .](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649e5c5503460f94b550c4/html5/thumbnails/6.jpg)
MethodsLive Demo
![Page 7: Methods Writing and using methods, overloads, ref, out SoftUni Team Technical Trainers Software University .](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649e5c5503460f94b550c4/html5/thumbnails/7.jpg)
7
Method parameters can be of any type Separated by comma
Method Parameters
static void PrintNumbers(int start, int end){ for (int i = start; i <= end; i++) { Console.Write("{0} ", i); }}
static void Main(){ PrintNumbers(5, 10);}
Declares the use of int start and int end
Passed concrete values when called
![Page 8: Methods Writing and using methods, overloads, ref, out SoftUni Team Technical Trainers Software University .](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649e5c5503460f94b550c4/html5/thumbnails/8.jpg)
Method Parameters – Example
8
static void PrintSign(int number){ if (number > 0) Console.WriteLine("The number {0} is positive.", number); else if (number < 0) Console.WriteLine("The number {0} is negative.", number); else Console.WriteLine("The number {0} is zero.", number);}
static void Main(){ PrintSign(5); PrintSign(-3); PrintSign(0);}
![Page 9: Methods Writing and using methods, overloads, ref, out SoftUni Team Technical Trainers Software University .](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649e5c5503460f94b550c4/html5/thumbnails/9.jpg)
C# 4.0 supports optional parameters with default values:
The above method can be called in several ways:
Optional Parameters
static void PrintNumbers(int start = 0, int end = 100){ for (int i = start; i <= end; i++) { Console.Write("{0} ", i); }}
PrintNumbers(5, 10);PrintNumbers(15);PrintNumbers();PrintNumbers(end: 40, start: 35);
![Page 10: Methods Writing and using methods, overloads, ref, out SoftUni Team Technical Trainers Software University .](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649e5c5503460f94b550c4/html5/thumbnails/10.jpg)
Method ParametersLive Demo
![Page 11: Methods Writing and using methods, overloads, ref, out SoftUni Team Technical Trainers Software University .](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649e5c5503460f94b550c4/html5/thumbnails/11.jpg)
Exercises in Class
![Page 12: Methods Writing and using methods, overloads, ref, out SoftUni Team Technical Trainers Software University .](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649e5c5503460f94b550c4/html5/thumbnails/12.jpg)
Printing Triangle
Create a method for printing triangles as shown below:
12
11 1 21 2 1 2 31 2 3 1 2 3 41 2 3 4 1 2 3 4 5
n=5 1 2 3 4 5 n=6 1 2 3 4 5 61 2 3 4 1 2 3 4 51 2 3 1 2 3 41 2 1 2 31 1 2
1
![Page 13: Methods Writing and using methods, overloads, ref, out SoftUni Team Technical Trainers Software University .](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649e5c5503460f94b550c4/html5/thumbnails/13.jpg)
Printing TriangleLive Demo
![Page 14: Methods Writing and using methods, overloads, ref, out SoftUni Team Technical Trainers Software University .](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649e5c5503460f94b550c4/html5/thumbnails/14.jpg)
Returning Values From Methods
![Page 15: Methods Writing and using methods, overloads, ref, out SoftUni Team Technical Trainers Software University .](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649e5c5503460f94b550c4/html5/thumbnails/15.jpg)
15
Type void - does not return a value (only executes code)
Other types - return values, based on the return type of the method
Method Return Types
static void AddOne(int n) { n += 1; Console.WriteLine(n);}
static int PlusOne(int n) { return n + 1;}
![Page 16: Methods Writing and using methods, overloads, ref, out SoftUni Team Technical Trainers Software University .](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649e5c5503460f94b550c4/html5/thumbnails/16.jpg)
16
Methods with Parameters and Return Value
static double CalcTriangleArea(double width, double height){ return width * height / 2;}
static void Main(){ Console.Write("Enter triangle width: "); double width = double.Parse(Console.ReadLine()); Console.Write("Enter triangle height: "); double height = double.Parse(Console.ReadLine()); Console.WriteLine(CalcTriangleArea(width, height));}
![Page 17: Methods Writing and using methods, overloads, ref, out SoftUni Team Technical Trainers Software University .](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649e5c5503460f94b550c4/html5/thumbnails/17.jpg)
17
Power Methodstatic double Power(double number, int power){ double result = 1; for (int i = 0; i < power; i++) { result *= number; } return result;}
static void Main(){ double powerTwo = Power(5, 2); Console.WriteLine(powerTwo); double powerThree = Power(7.45, 3); Console.WriteLine(powerThree);}
![Page 18: Methods Writing and using methods, overloads, ref, out SoftUni Team Technical Trainers Software University .](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649e5c5503460f94b550c4/html5/thumbnails/18.jpg)
18
Convert temperature from Fahrenheit to Celsius:
Temperature Conversion – Example
static double FahrenheitToCelsius(double degrees){ double celsius = (degrees - 32) * 5 / 9; return celsius;}
static void Main(){ Console.Write("Temperature in Fahrenheit: "); double t = Double.Parse(Console.ReadLine()); t = FahrenheitToCelsius(t); Console.Write("Temperature in Celsius: {0}", t);}
![Page 19: Methods Writing and using methods, overloads, ref, out SoftUni Team Technical Trainers Software University .](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649e5c5503460f94b550c4/html5/thumbnails/19.jpg)
Returning Values From MethodsLive Demo
![Page 20: Methods Writing and using methods, overloads, ref, out SoftUni Team Technical Trainers Software University .](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649e5c5503460f94b550c4/html5/thumbnails/20.jpg)
Overloading MethodsMultiple Methods
with the Same Name
![Page 21: Methods Writing and using methods, overloads, ref, out SoftUni Team Technical Trainers Software University .](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649e5c5503460f94b550c4/html5/thumbnails/21.jpg)
21
Method Overloading Use the same method name for multiple methods with different
signature (return type and parameters)
Overloading Methods
static void Print(string text){ Console.WriteLine(text);}
static void Print(int number){ Console.WriteLine(number);}
static void Print(string text, int number){ Console.WriteLine(text + ' ' + number);}
![Page 22: Methods Writing and using methods, overloads, ref, out SoftUni Team Technical Trainers Software University .](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649e5c5503460f94b550c4/html5/thumbnails/22.jpg)
Why Use Methods? More manageable programming
Splits large problems into small pieces Better organization of the program Improves code readability Improves code understandability
Avoiding repeating code Improves code maintainability
Code reusability Using existing methods several times
22
![Page 23: Methods Writing and using methods, overloads, ref, out SoftUni Team Technical Trainers Software University .](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649e5c5503460f94b550c4/html5/thumbnails/23.jpg)
23
Each method should perform a single, well-defined task Method's name should describe that task in a clear and non-
ambiguous way Good examples: CalculatePrice, ReadName Bad examples: f, g1, Process In C# methods should start with a capital letter (PascalCase)
Avoid methods longer than one screen Split them to several shorter methods
Methods – Best Practices
![Page 24: Methods Writing and using methods, overloads, ref, out SoftUni Team Technical Trainers Software University .](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649e5c5503460f94b550c4/html5/thumbnails/24.jpg)
24
Break large programs into simple
methods that solve small sub-problems Methods consist of declaration and body Methods are invoked by their name Methods can accept parameters
Parameters take actual values when calling a method
Methods can return a value or nothing (void)
Summary
![Page 25: Methods Writing and using methods, overloads, ref, out SoftUni Team Technical Trainers Software University .](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649e5c5503460f94b550c4/html5/thumbnails/25.jpg)
Questions??
??
?
?
??
?
?
Fundamentals Level @ SoftUni
http://softuni.bg/courses/advanced-csharp
![Page 26: Methods Writing and using methods, overloads, ref, out SoftUni Team Technical Trainers Software University .](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649e5c5503460f94b550c4/html5/thumbnails/26.jpg)
26
License
This course (slides, examples, demos, videos, homework, etc.)is licensed under the "Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International" license
Attribution: this work may contain portions from "C# Fundamentals – Part 1" course by Telerik Academy under CC-BY-NC-SA license
"C# Fundamentals – Part 2" course by Telerik Academy under CC-BY-NC-SA license
![Page 27: Methods Writing and using methods, overloads, ref, out SoftUni Team Technical Trainers Software University .](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649e5c5503460f94b550c4/html5/thumbnails/27.jpg)
Free Trainings @ Software University Software University Foundation – softuni.org Software University – High-Quality Education,
Profession and Job for Software Developers softuni.bg
Software University @ Facebook facebook.com/SoftwareUniversity
Software University @ YouTube youtube.com/SoftwareUniversity
Software University Forums – forum.softuni.bg