Csc153 chapter 07
-
Upload
pcc -
Category
Technology
-
view
163 -
download
2
Transcript of Csc153 chapter 07
![Page 1: Csc153 chapter 07](https://reader036.fdocuments.us/reader036/viewer/2022081401/556d12f8d8b42ad34f8b52a6/html5/thumbnails/1.jpg)
Microsoft Visual C# 2010Fourth Edition
Chapter 7Using Methods
![Page 2: Csc153 chapter 07](https://reader036.fdocuments.us/reader036/viewer/2022081401/556d12f8d8b42ad34f8b52a6/html5/thumbnails/2.jpg)
Microsoft Visual C# 2010, Fourth Edition 2
Objectives
• Learn about methods and implementation hiding
• Write methods with no parameters and no return value
• Write methods that require a single argument
• Write methods that require multiple arguments
• Write a method that returns a value
![Page 3: Csc153 chapter 07](https://reader036.fdocuments.us/reader036/viewer/2022081401/556d12f8d8b42ad34f8b52a6/html5/thumbnails/3.jpg)
Microsoft Visual C# 2010, Fourth Edition 3
Objectives (cont'd.)
• Pass an array to a method
• Learn some alternate ways to write a Main() method header
• Learn about issues using methods in GUI programs
![Page 4: Csc153 chapter 07](https://reader036.fdocuments.us/reader036/viewer/2022081401/556d12f8d8b42ad34f8b52a6/html5/thumbnails/4.jpg)
Microsoft Visual C# 2010, Fourth Edition 4
Understanding Methods and Implementation Hiding
• Method– Encapsulated series of statements that perform a task– Using a method is called invoking or calling
![Page 5: Csc153 chapter 07](https://reader036.fdocuments.us/reader036/viewer/2022081401/556d12f8d8b42ad34f8b52a6/html5/thumbnails/5.jpg)
Microsoft Visual C# 2010, Fourth Edition 5
Understanding Methods and Implementation Hiding (cont'd.)
![Page 6: Csc153 chapter 07](https://reader036.fdocuments.us/reader036/viewer/2022081401/556d12f8d8b42ad34f8b52a6/html5/thumbnails/6.jpg)
Microsoft Visual C# 2010, Fourth Edition 6
Understanding Implementation Hiding
• Implementation hiding– An important principle of object-oriented programming– Keeps the details of a method’s operations hidden
• Only concern is the way you interface or interact with the method– Program does not need to know how method works
• Multifile assembly– Program that uses methods and classes stored in
other files
![Page 7: Csc153 chapter 07](https://reader036.fdocuments.us/reader036/viewer/2022081401/556d12f8d8b42ad34f8b52a6/html5/thumbnails/7.jpg)
Microsoft Visual C# 2010, Fourth Edition 7
Writing Methods with No Parameters and No Return Value
• Major reasons to create a method– Code will remain short and easy to follow– A method is easily reusable
• Code bloat– Unnecessarily long or repetitive statements
• A method must include:– Method declaration
• Also called a method header or method definition
– Opening curly brace– Method body– Closing curly brace
![Page 8: Csc153 chapter 07](https://reader036.fdocuments.us/reader036/viewer/2022081401/556d12f8d8b42ad34f8b52a6/html5/thumbnails/8.jpg)
Microsoft Visual C# 2010, Fourth Edition 8
Writing Methods with No Parameters and No Return Value (cont'd.)
• Method declaration– Defines the rules for using the method and contains:
• Optional declared accessibility
• Optional static modifier
• Return type for the method
• Method name, or identifier
• Opening parenthesis
• Optional list of method parameters
• Closing parenthesis
![Page 9: Csc153 chapter 07](https://reader036.fdocuments.us/reader036/viewer/2022081401/556d12f8d8b42ad34f8b52a6/html5/thumbnails/9.jpg)
Microsoft Visual C# 2010, Fourth Edition 9
Writing Methods with No Parameters and No Return Value (cont'd.)
• Optional declared accessibility– Limits how other methods can use your method– Possible access values
• Public
• Protected internal
• Protected
• Internal
• Private
• You can declare a method to be static or nonstatic– Methods are nonstatic by default
![Page 10: Csc153 chapter 07](https://reader036.fdocuments.us/reader036/viewer/2022081401/556d12f8d8b42ad34f8b52a6/html5/thumbnails/10.jpg)
Writing Methods with No Parameters and No Return Value (cont'd.)
Microsoft Visual C# 2010, Fourth Edition 10
![Page 11: Csc153 chapter 07](https://reader036.fdocuments.us/reader036/viewer/2022081401/556d12f8d8b42ad34f8b52a6/html5/thumbnails/11.jpg)
Microsoft Visual C# 2010, Fourth Edition 11
Writing Methods with No Parameters and No Return Value (cont'd.)
• You can declare a method to be static or nonstatic– Methods are nonstatic by default
• static method– Can be called without referring to an object
• Instead, you refer to the class
– Cannot call nonstatic methods• Nonstatic methods can call static ones
![Page 12: Csc153 chapter 07](https://reader036.fdocuments.us/reader036/viewer/2022081401/556d12f8d8b42ad34f8b52a6/html5/thumbnails/12.jpg)
Microsoft Visual C# 2010, Fourth Edition 12
Writing Methods with No Parameters and No Return Value (cont'd.)
• Every method has a return type– Indicates what kind of value the method will return to
any other method that calls it– If a method does not return a value, its return type is void
• Method name must be a legal C# identifier
• Scope– Area in which a variable is known
• Parameter to a method– Variable that holds data passed to a method when it is
called
![Page 13: Csc153 chapter 07](https://reader036.fdocuments.us/reader036/viewer/2022081401/556d12f8d8b42ad34f8b52a6/html5/thumbnails/13.jpg)
Writing Methods with No Parameters and No Return Value (cont'd.)
Microsoft Visual C# 2010, Fourth Edition 13
![Page 14: Csc153 chapter 07](https://reader036.fdocuments.us/reader036/viewer/2022081401/556d12f8d8b42ad34f8b52a6/html5/thumbnails/14.jpg)
Writing Methods with No Parameters and No Return Value (cont'd.)
Microsoft Visual C# 2010, Fourth Edition 14
![Page 15: Csc153 chapter 07](https://reader036.fdocuments.us/reader036/viewer/2022081401/556d12f8d8b42ad34f8b52a6/html5/thumbnails/15.jpg)
Microsoft Visual C# 2010, Fourth Edition 15
Writing Methods That Require a Single Argument
• You need:– Type of the parameter– A local identifier (name) for the parameter
• Local variable– Declared within a method
• Formal parameter– Parameter in a method header that accepts a value
• Actual parameters– Arguments within a method call
![Page 16: Csc153 chapter 07](https://reader036.fdocuments.us/reader036/viewer/2022081401/556d12f8d8b42ad34f8b52a6/html5/thumbnails/16.jpg)
Writing Methods That Require a Single Argument (cont'd.)
Microsoft Visual C# 2010, Fourth Edition 16
![Page 17: Csc153 chapter 07](https://reader036.fdocuments.us/reader036/viewer/2022081401/556d12f8d8b42ad34f8b52a6/html5/thumbnails/17.jpg)
Microsoft Visual C# 2010, Fourth Edition 17
Writing Methods That Require a Single Argument (cont'd.)
![Page 18: Csc153 chapter 07](https://reader036.fdocuments.us/reader036/viewer/2022081401/556d12f8d8b42ad34f8b52a6/html5/thumbnails/18.jpg)
Writing Methods That Require Multiple Arguments
• Methods can take any number of parameters
• When you call the method, arguments must match– In both number and type
Microsoft Visual C# 2010, Fourth Edition 18
![Page 19: Csc153 chapter 07](https://reader036.fdocuments.us/reader036/viewer/2022081401/556d12f8d8b42ad34f8b52a6/html5/thumbnails/19.jpg)
Writing Methods That Require Multiple Arguments (cont'd.)
Microsoft Visual C# 2010, Fourth Edition 19
![Page 20: Csc153 chapter 07](https://reader036.fdocuments.us/reader036/viewer/2022081401/556d12f8d8b42ad34f8b52a6/html5/thumbnails/20.jpg)
Microsoft Visual C# 2010, Fourth Edition 20
Writing a Method That Returns a Value
• A method can return, at most, one value to a method that calls it
• Method’s type– Method’s return type
• return statement– Causes a value to be sent back to the calling method
• You are not required to use a returned value
![Page 21: Csc153 chapter 07](https://reader036.fdocuments.us/reader036/viewer/2022081401/556d12f8d8b42ad34f8b52a6/html5/thumbnails/21.jpg)
Writing a Method That Returns a Value (cont'd.)
Microsoft Visual C# 2010, Fourth Edition 21
![Page 22: Csc153 chapter 07](https://reader036.fdocuments.us/reader036/viewer/2022081401/556d12f8d8b42ad34f8b52a6/html5/thumbnails/22.jpg)
Writing a Method That Returns a Value (cont'd.)
• A returned value can be:– Stored in a variable– Used directly
• Nested method calls– Method calls placed inside other method calls
• Writing a method that returns a Boolean value– When a method returns a value that is type bool
• Method call can be used anywhere you can use a Boolean expression
Microsoft Visual C# 2010, Fourth Edition 22
![Page 23: Csc153 chapter 07](https://reader036.fdocuments.us/reader036/viewer/2022081401/556d12f8d8b42ad34f8b52a6/html5/thumbnails/23.jpg)
Microsoft Visual C# 2010, Fourth Edition 23
Writing a Method That Returns a Value (cont'd.)
![Page 24: Csc153 chapter 07](https://reader036.fdocuments.us/reader036/viewer/2022081401/556d12f8d8b42ad34f8b52a6/html5/thumbnails/24.jpg)
Microsoft Visual C# 2010, Fourth Edition 24
Passing an Array to a Method
• You can pass a single array element to a method– In same manner as you would pass a variable
• Variables are passed by value– Local variables store a local copy of the value
• You can pass an entire array as a parameter
• Arrays, like all objects but unlike built-in types, are passed by reference– Method receives actual memory address of the array
• Has access to the actual values in the array elements
![Page 25: Csc153 chapter 07](https://reader036.fdocuments.us/reader036/viewer/2022081401/556d12f8d8b42ad34f8b52a6/html5/thumbnails/25.jpg)
Microsoft Visual C# 2010, Fourth Edition 25
![Page 26: Csc153 chapter 07](https://reader036.fdocuments.us/reader036/viewer/2022081401/556d12f8d8b42ad34f8b52a6/html5/thumbnails/26.jpg)
Microsoft Visual C# 2010, Fourth Edition 26
![Page 27: Csc153 chapter 07](https://reader036.fdocuments.us/reader036/viewer/2022081401/556d12f8d8b42ad34f8b52a6/html5/thumbnails/27.jpg)
Microsoft Visual C# 2010, Fourth Edition 27
Passing an Array to a Method (cont'd.)
• You can pass a multidimensional array to a method – By indicating the appropriate number of dimensions
after the data type in the method header– Example public static void
displayScores(int[,]scoresArray)
• Jagged arrays– Insert the appropriate number of square brackets after
the data type in the method header– Example public static void displayIDs(int[][] idArray)
![Page 28: Csc153 chapter 07](https://reader036.fdocuments.us/reader036/viewer/2022081401/556d12f8d8b42ad34f8b52a6/html5/thumbnails/28.jpg)
Microsoft Visual C# 2010, Fourth Edition 28
Alternate Ways to Write a Main() Method Header
• Conventional waypublic static void Main()
• Passing command-line argumentspublic static void Main(string[] args)
• Some programmers prefer to write Main() method headers with a return type of int instead of void– Last statement in the Main() method must be a
return statement
![Page 29: Csc153 chapter 07](https://reader036.fdocuments.us/reader036/viewer/2022081401/556d12f8d8b42ad34f8b52a6/html5/thumbnails/29.jpg)
Microsoft Visual C# 2010, Fourth Edition 29
Issues Using Methods in GUI Programs
• Some special considerations when creating GUI applications– Understanding methods that are automatically
generated in the visual environment– Appreciating scope in a GUI program– Creating methods to be nonstatic when associated
with a Form
![Page 30: Csc153 chapter 07](https://reader036.fdocuments.us/reader036/viewer/2022081401/556d12f8d8b42ad34f8b52a6/html5/thumbnails/30.jpg)
Microsoft Visual C# 2010, Fourth Edition 30
Understanding Methods that are Automatically Generated in the Visual
Environment• When you create GUI applications using the IDE
– Many methods are generated automatically
![Page 31: Csc153 chapter 07](https://reader036.fdocuments.us/reader036/viewer/2022081401/556d12f8d8b42ad34f8b52a6/html5/thumbnails/31.jpg)
Appreciating Scope in a GUI Program
• When you declare a variable or constant within a method, it is local to that method
• If a variable or constant is needed by multiple event-handling methods– Variables or constants in question must be defined
outside the methods (but within the Form class)
• Automatically generated event-handling methods have predefined sets of parameters
Microsoft Visual C# 2010, Fourth Edition 31
![Page 32: Csc153 chapter 07](https://reader036.fdocuments.us/reader036/viewer/2022081401/556d12f8d8b42ad34f8b52a6/html5/thumbnails/32.jpg)
Microsoft Visual C# 2010, Fourth Edition 32
Creating Methods to be Nonstatic when Associated with a Form
• When you create a GUI application and generate a method, the keyword static does not appear in the method header– Because the method is associated with an object from
which the method-invoking events are sent
![Page 33: Csc153 chapter 07](https://reader036.fdocuments.us/reader036/viewer/2022081401/556d12f8d8b42ad34f8b52a6/html5/thumbnails/33.jpg)
You Do It
• Activities to explore– Calling a Method– Writing a Method that Receives Parameters and
Returns a Value
Microsoft Visual C# 2010, Fourth Edition 33
![Page 34: Csc153 chapter 07](https://reader036.fdocuments.us/reader036/viewer/2022081401/556d12f8d8b42ad34f8b52a6/html5/thumbnails/34.jpg)
Summary
• Method is a series of statements that perform a task
• Some methods require passed-in information called arguments or parameters
• You write methods to make programs easier to understand and so that you can easily reuse them
• Object-oriented programs hide their methods’ implementation
• You can pass multiple arguments to a method
Microsoft Visual C# 2010, Fourth Edition 34
![Page 35: Csc153 chapter 07](https://reader036.fdocuments.us/reader036/viewer/2022081401/556d12f8d8b42ad34f8b52a6/html5/thumbnails/35.jpg)
Summary (cont'd.)
• The return type for a method can be any type used in the C# programming language
• You can pass an array as a parameter to a method
• You might see different Main() method headers in other books or in programs written by others
• Special considerations exist for methods when you create GUI applications
Microsoft Visual C# 2010, Fourth Edition 35