7 Methods and Behavior
Transcript of 7 Methods and Behavior
![Page 1: 7 Methods and Behavior](https://reader031.fdocuments.in/reader031/viewer/2022021114/577d2b601a28ab4e1eaa9c5b/html5/thumbnails/1.jpg)
8/7/2019 7 Methods and Behavior
http://slidepdf.com/reader/full/7-methods-and-behavior 1/31
C# Programming: From Problem Analysis to Program Design 1
Methods and
Behaviors
C# Programming: From Problem Analysis to Program Design
3rd Edition
3
![Page 2: 7 Methods and Behavior](https://reader031.fdocuments.in/reader031/viewer/2022021114/577d2b601a28ab4e1eaa9c5b/html5/thumbnails/2.jpg)
8/7/2019 7 Methods and Behavior
http://slidepdf.com/reader/full/7-methods-and-behavior 2/31
C# Programming: From Problem Analysis to Program Design 2
Chapter Objectives
• Become familiar with the components of a method
• Call class methods with and without parameters
• Use predefined methods in the Console and Mathclasses
• Write your own value and nonvalue-returning
class methods (with and without parameters)
• Distinguish between value, ref, and out parameter
types
![Page 3: 7 Methods and Behavior](https://reader031.fdocuments.in/reader031/viewer/2022021114/577d2b601a28ab4e1eaa9c5b/html5/thumbnails/3.jpg)
8/7/2019 7 Methods and Behavior
http://slidepdf.com/reader/full/7-methods-and-behavior 3/31
C# Programming: From Problem Analysis to Program Design 3
Chapter Objectives (continued)
• Explore the use of named and optional parameters
with default values
• Work through a programming example thatillustrates the chapter’s concepts
![Page 4: 7 Methods and Behavior](https://reader031.fdocuments.in/reader031/viewer/2022021114/577d2b601a28ab4e1eaa9c5b/html5/thumbnails/4.jpg)
8/7/2019 7 Methods and Behavior
http://slidepdf.com/reader/full/7-methods-and-behavior 4/31
C# Programming: From Problem Analysis to Program Design 4
Anatomy of a Method
• Methods defined inside classes
• Group program statements
– Based on functionality
– Called one or more times
• All programs consist of at least one method
– Main( )
• User-defined method
![Page 5: 7 Methods and Behavior](https://reader031.fdocuments.in/reader031/viewer/2022021114/577d2b601a28ab4e1eaa9c5b/html5/thumbnails/5.jpg)
8/7/2019 7 Methods and Behavior
http://slidepdf.com/reader/full/7-methods-and-behavior 5/31
C# Programming: From Problem Analysis to Program Design 5
/* SquareExample.cs Author: Doyle */
using System;
namespace Square
{public class SquareExample
{
public static void Main( )
{
int aValue = 768;
int result;
result = aValue * aValue;
Console.WriteLine(―{0} squared is {1}‖,
aValue, result);Console.Read( );
}
}
}
Required method
![Page 6: 7 Methods and Behavior](https://reader031.fdocuments.in/reader031/viewer/2022021114/577d2b601a28ab4e1eaa9c5b/html5/thumbnails/6.jpg)
8/7/2019 7 Methods and Behavior
http://slidepdf.com/reader/full/7-methods-and-behavior 6/31
C# Programming: From Problem Analysis to Program Design 6
Anatomy of a Method (continued)
Figure 3-1 Method components
![Page 7: 7 Methods and Behavior](https://reader031.fdocuments.in/reader031/viewer/2022021114/577d2b601a28ab4e1eaa9c5b/html5/thumbnails/7.jpg)
8/7/2019 7 Methods and Behavior
http://slidepdf.com/reader/full/7-methods-and-behavior 7/31
C# Programming: From Problem Analysis to Program Design 7
Modifiers
• Appear in method headings
• Appear in the declaration heading for classes and
other class members• Indicate how it can be accessed
• Types of modifiers
– Static
– Access
![Page 8: 7 Methods and Behavior](https://reader031.fdocuments.in/reader031/viewer/2022021114/577d2b601a28ab4e1eaa9c5b/html5/thumbnails/8.jpg)
8/7/2019 7 Methods and Behavior
http://slidepdf.com/reader/full/7-methods-and-behavior 8/31
C# Programming: From Problem Analysis to Program Design 8
Static Modifier
• Indicates member belongs to the type itself rather
than to a specific object of a class
• Main( ) must include static in heading
• Members of the Math class are static
– public static double Pow(double, double)
• Methods that use the static modifier are calledclass methods
– Instance methods require an object
![Page 9: 7 Methods and Behavior](https://reader031.fdocuments.in/reader031/viewer/2022021114/577d2b601a28ab4e1eaa9c5b/html5/thumbnails/9.jpg)
8/7/2019 7 Methods and Behavior
http://slidepdf.com/reader/full/7-methods-and-behavior 9/31
C# Programming: From Problem Analysis to Program Design 9
Access Modifiers
• public
• protected
• internal
• protected internal
• private
![Page 10: 7 Methods and Behavior](https://reader031.fdocuments.in/reader031/viewer/2022021114/577d2b601a28ab4e1eaa9c5b/html5/thumbnails/10.jpg)
8/7/2019 7 Methods and Behavior
http://slidepdf.com/reader/full/7-methods-and-behavior 10/31
C# Programming: From Problem Analysis to Program Design 10
Level of Accessibility
![Page 11: 7 Methods and Behavior](https://reader031.fdocuments.in/reader031/viewer/2022021114/577d2b601a28ab4e1eaa9c5b/html5/thumbnails/11.jpg)
8/7/2019 7 Methods and Behavior
http://slidepdf.com/reader/full/7-methods-and-behavior 11/31
C# Programming: From Problem Analysis to Program Design 11
Return Type
• Indicates what type of value is returned when the
method is completed
• Always listed immediately before method name
• void
– No value being returned
• return statement – Required for all non-void methods
– Compatible value
![Page 12: 7 Methods and Behavior](https://reader031.fdocuments.in/reader031/viewer/2022021114/577d2b601a28ab4e1eaa9c5b/html5/thumbnails/12.jpg)
8/7/2019 7 Methods and Behavior
http://slidepdf.com/reader/full/7-methods-and-behavior 12/31
C# Programming: From Problem Analysis to Program Design 12
Return Type (continued)
public static double CalculateMilesPerGallon
(int milesTraveled, double gallonsUsed)
{
return milesTraveled / gallonsUsed;
}
Compatible value(double) returned
Return
type
![Page 13: 7 Methods and Behavior](https://reader031.fdocuments.in/reader031/viewer/2022021114/577d2b601a28ab4e1eaa9c5b/html5/thumbnails/13.jpg)
8/7/2019 7 Methods and Behavior
http://slidepdf.com/reader/full/7-methods-and-behavior 13/31
C# Programming: From Problem Analysis to Program Design 13
Method Names• Follow the rules for creating an identifier
– Pascal case style
– Action verb or prepositional phrase
• Examples
– CalculateSalesTax( )
– AssignSectionNumber( )
– DisplayResults( )
– InputAge( )
– ConvertInputValue( )
![Page 14: 7 Methods and Behavior](https://reader031.fdocuments.in/reader031/viewer/2022021114/577d2b601a28ab4e1eaa9c5b/html5/thumbnails/14.jpg)
8/7/2019 7 Methods and Behavior
http://slidepdf.com/reader/full/7-methods-and-behavior 14/31
C# Programming: From Problem Analysis to Program Design 14
Parameters• Supply unique data to method
• Appear inside parentheses
– Include data type and an identifier
• In method body, reference values using identifiername
– Parameter refers to items appearing in the heading
– Argument for items appearing in the call
• Formal parameters
• Actual arguments
![Page 15: 7 Methods and Behavior](https://reader031.fdocuments.in/reader031/viewer/2022021114/577d2b601a28ab4e1eaa9c5b/html5/thumbnails/15.jpg)
8/7/2019 7 Methods and Behavior
http://slidepdf.com/reader/full/7-methods-and-behavior 15/31
C# Programming: From Problem Analysis to Program Design 15
Parameters (continued)
public static double CalculateMilesPerGallon
(int milesTraveled, double gallonsUsed)
{
return milesTraveled / gallonsUsed;
}
• Call to method inside Main( ) method
Console.WriteLine(―Miles per gallon = {0:N2}‖,
CalculateMilesPerGallon(289, 12.2));
Two formal
parameters
Actual
arguments
![Page 16: 7 Methods and Behavior](https://reader031.fdocuments.in/reader031/viewer/2022021114/577d2b601a28ab4e1eaa9c5b/html5/thumbnails/16.jpg)
8/7/2019 7 Methods and Behavior
http://slidepdf.com/reader/full/7-methods-and-behavior 16/31
C# Programming: From Problem Analysis to Program Design 16
Parameters (continued)
• Like return types, parameters are optional
– Keyword void not required (inside parentheses) –
when there are no parameters
public void DisplayMessage( )
{
Console.Write(‖This is ―);
Console.Write(‖an example of a method ‖);
Console.WriteLine(―body. ‖);
return; // no value is returned
}
![Page 17: 7 Methods and Behavior](https://reader031.fdocuments.in/reader031/viewer/2022021114/577d2b601a28ab4e1eaa9c5b/html5/thumbnails/17.jpg)
8/7/2019 7 Methods and Behavior
http://slidepdf.com/reader/full/7-methods-and-behavior 17/31
C# Programming: From Problem Analysis to Program Design 17
Method Body
• Enclosed in curly braces
• Include statements ending in semicolons
– Declare variables
– Do arithmetic
– Call other methods
• Value-returning methods must include return
statement
![Page 18: 7 Methods and Behavior](https://reader031.fdocuments.in/reader031/viewer/2022021114/577d2b601a28ab4e1eaa9c5b/html5/thumbnails/18.jpg)
8/7/2019 7 Methods and Behavior
http://slidepdf.com/reader/full/7-methods-and-behavior 18/31
C# Programming: From Problem Analysis to Program Design 18
Calling Class Methods• Invoke a method
• Call to method that returns no value[qualifier].MethodName(argumentList);
• Qualifier
– Square brackets indicate optional
– class or object name
• Call to method does not include data type
• Use Intellisense
![Page 19: 7 Methods and Behavior](https://reader031.fdocuments.in/reader031/viewer/2022021114/577d2b601a28ab4e1eaa9c5b/html5/thumbnails/19.jpg)
8/7/2019 7 Methods and Behavior
http://slidepdf.com/reader/full/7-methods-and-behavior 19/31
C# Programming: From Problem Analysis to Program Design 19
Predefined Methods
• Extensive class library
• Console class
– Overloaded methods – Write( )
– WriteLine( )
– Read( )• Not overloaded
• Returns an integer
![Page 20: 7 Methods and Behavior](https://reader031.fdocuments.in/reader031/viewer/2022021114/577d2b601a28ab4e1eaa9c5b/html5/thumbnails/20.jpg)
8/7/2019 7 Methods and Behavior
http://slidepdf.com/reader/full/7-methods-and-behavior 20/31
C# Programming: From Problem Analysis to Program Design 20
Intellisense
Method signature(s)and description
After typing the dot, list
of members pops up
3-D fuchsia colored box —
methods
aqua colored box — fields (not
shown)Figure 3-2 Console class members
![Page 21: 7 Methods and Behavior](https://reader031.fdocuments.in/reader031/viewer/2022021114/577d2b601a28ab4e1eaa9c5b/html5/thumbnails/21.jpg)
8/7/2019 7 Methods and Behavior
http://slidepdf.com/reader/full/7-methods-and-behavior 21/31
C# Programming: From Problem Analysis to Program Design 21
Intellisense Displaystring argument
expected
string
parameter
18 different Write( )
methods
Figure 3-3 IntelliSense display
![Page 22: 7 Methods and Behavior](https://reader031.fdocuments.in/reader031/viewer/2022021114/577d2b601a28ab4e1eaa9c5b/html5/thumbnails/22.jpg)
8/7/2019 7 Methods and Behavior
http://slidepdf.com/reader/full/7-methods-and-behavior 22/31
C# Programming: From Problem Analysis to Program Design 22
Intellisense Display (continued)
Figure 3-4 Console.Read ( ) signature
Figure 3-5 Console.ReadLine ( ) signature
![Page 23: 7 Methods and Behavior](https://reader031.fdocuments.in/reader031/viewer/2022021114/577d2b601a28ab4e1eaa9c5b/html5/thumbnails/23.jpg)
8/7/2019 7 Methods and Behavior
http://slidepdf.com/reader/full/7-methods-and-behavior 23/31
C# Programming: From Problem Analysis to Program Design 23
Call Read( ) Methods
int aNumber;
Console.Write(―Enter a single character: ‖);
aNumber = Console.Read( );
Console.WriteLine(―The value of the character entered: ‖
+ aNumber);
Enter a single character: a
The value of the character entered: 97
![Page 24: 7 Methods and Behavior](https://reader031.fdocuments.in/reader031/viewer/2022021114/577d2b601a28ab4e1eaa9c5b/html5/thumbnails/24.jpg)
8/7/2019 7 Methods and Behavior
http://slidepdf.com/reader/full/7-methods-and-behavior 24/31
C# Programming: From Problem Analysis to Program Design 24
Call Read( ) Methods (continued)
int aNumber;
Console.WriteLine(―The value of the character entered: ―
+ (char) Console.Read( ));
Enter a single character: a
The value of the character entered: a
![Page 25: 7 Methods and Behavior](https://reader031.fdocuments.in/reader031/viewer/2022021114/577d2b601a28ab4e1eaa9c5b/html5/thumbnails/25.jpg)
8/7/2019 7 Methods and Behavior
http://slidepdf.com/reader/full/7-methods-and-behavior 25/31
C# Programming: From Problem Analysis to Program Design 25
Call ReadLine( ) Methods
• More versatile than the Read( )
• Returns all characters up to the enter key
• Not overloaded
• Always returns a string
• String value must be parsed
![Page 26: 7 Methods and Behavior](https://reader031.fdocuments.in/reader031/viewer/2022021114/577d2b601a28ab4e1eaa9c5b/html5/thumbnails/26.jpg)
8/7/2019 7 Methods and Behavior
http://slidepdf.com/reader/full/7-methods-and-behavior 26/31
C# Programming: From Problem Analysis to Program Design 26
Call Parse( )
• Predefined static method
• All numeric types have a Parse( ) method
– double.Parse(―string number‖)
– int.Parse(―string number‖)
– char.Parse(―string number‖)
– bool.Parse(―string number‖)
• Expects string argument
– Argument must be a number – string format
• Returns the number (or char or bool)
![Page 27: 7 Methods and Behavior](https://reader031.fdocuments.in/reader031/viewer/2022021114/577d2b601a28ab4e1eaa9c5b/html5/thumbnails/27.jpg)
8/7/2019 7 Methods and Behavior
http://slidepdf.com/reader/full/7-methods-and-behavior 27/31
C# Programming: From Problem Analysis to Program Design 27
/* AgeIncrementer.cs Author: Doyle */
using System;
namespace AgeExample
{public class AgeIncrementer
{
public static void Main( )
{
int age;
string aValue;
Console.Write(―Enter your age: ―);
aValue = Console.ReadLine( );
age = int.Parse(aValue);Console.WriteLine(―Your age next year‖
+ ― will be {0}‖, ++age);
Console.Read( );
} } }
![Page 28: 7 Methods and Behavior](https://reader031.fdocuments.in/reader031/viewer/2022021114/577d2b601a28ab4e1eaa9c5b/html5/thumbnails/28.jpg)
8/7/2019 7 Methods and Behavior
http://slidepdf.com/reader/full/7-methods-and-behavior 28/31
C# Programming: From Problem Analysis to Program Design 28
/* SquareInputValue.cs Author: Doyle */
using System;
namespace Square
{class SquareInputValue
{
static void Main( )
{
string inputStringValue;
double aValue, result;
Console.Write(―Enter a value to be squared: ‖);
inputStringValue = Console.ReadLine( );
aValue = double.Parse(inputStringValue);result = Math.Pow(aValue, 2);
Console.WriteLine(―{0} squared is {1}‖, aValue, result);
}
}
}
![Page 29: 7 Methods and Behavior](https://reader031.fdocuments.in/reader031/viewer/2022021114/577d2b601a28ab4e1eaa9c5b/html5/thumbnails/29.jpg)
8/7/2019 7 Methods and Behavior
http://slidepdf.com/reader/full/7-methods-and-behavior 29/31
C# Programming: From Problem Analysis to Program Design 29
Call Parse( ) (continued)
string sValue = ―True‖;
Console.WriteLine (bool.Parse(sValue)); // displays True
string strValue = ―q‖;
Console.WriteLine(char.Parse(strValue)); // displays q
![Page 30: 7 Methods and Behavior](https://reader031.fdocuments.in/reader031/viewer/2022021114/577d2b601a28ab4e1eaa9c5b/html5/thumbnails/30.jpg)
8/7/2019 7 Methods and Behavior
http://slidepdf.com/reader/full/7-methods-and-behavior 30/31
C# Programming: From Problem Analysis to Program Design 30
Call Parse( ) with Incompatible
Value• Console.WriteLine(char.Parse(sValue));
when sValue referenced ―True‖
Figure 3-6 System.FormatException run-time error
![Page 31: 7 Methods and Behavior](https://reader031.fdocuments.in/reader031/viewer/2022021114/577d2b601a28ab4e1eaa9c5b/html5/thumbnails/31.jpg)
8/7/2019 7 Methods and Behavior
http://slidepdf.com/reader/full/7-methods-and-behavior 31/31
C# Programming: From Problem Analysis to Program Design 31
Convert Class
• More than one way to convert from one base type
to another
– System namespace — Convert class — static methods
– Convert.ToDouble( ) – Convert.ToDecimal( )
– Convert.ToInt32( )
– Convert.ToBoolean( )
– Convert.ToChar( )
int newValue = Convert.ToInt32(stringValue);