UserDefined Methods - PowerPoint PPT Presentation

About This Presentation
Title:

UserDefined Methods

Description:

Explore how to construct and use a value-returning, user-defined method in a program. Learn how to construct and use user-defined void methods in a program ... – PowerPoint PPT presentation

Number of Views:82
Avg rating:3.0/5.0
Slides: 38
Provided by: css64
Category:

less

Transcript and Presenter's Notes

Title: UserDefined Methods


1
Chapter 7
  • User-Defined Methods

2
Chapter Objectives
  • Understand how methods are used in Java
    programming
  • Learn about standard (predefined) methods and
    discover how to use them in a program
  • Learn about user-defined methods
  • Examine value-returning methods, including actual
    and formal parameters

3
Chapter Objectives
  • Explore how to construct and use a
    value-returning, user-defined method in a
    program
  • Learn how to construct and use user-defined void
    methods in a program
  • Explore variables as parameters
  • Learn about the scope of an identifier
  • Become aware of method overloading

4
Advantages of using methods
  • Methods are the building blocks or modules of
    classes and of systems built from many classes
  • Predefined methods are supplied within Java
  • User defined methods originate from developers
  • Allows the developer to write, debug, and
    integrate one module at a time in a larger
    system
  • Allows many developers to simultaneously develop
    different components of a larger system
  • Improves readability and ease of maintenance of
    the system

5
Methods
  • The concept of a method is similar to the
    mathematical concept of a function
  • A function has
  • A result or a value
  • A series of arguments
  • Functional form
  • A method either
  • Evaluates to a result (value) of a particular
    type
  • Modifies or manipulates its arguments (e.g.
    prints)

6
Syntax Value-Returning Method
modifier(s) returnType methodName(formal
parameter list)
statements
Syntax Void Method
modifier(s) void methodName(formal parameter
list)
statements
7
Predefined Classes and Methods
  • Methods already written and provided by Java
  • Organized as a collection of classes (class
    libraries)
  • To use import package or class
  • Classname.methodname(argument list)

8
class Math (Package java.lang)
9
class Math (Package java.lang)
10
class Character (Package java.lang)
11
class Character (Package java.lang)
12
class Character (Package java.lang)
13
Value-Returning Method
  • modifier(s) returnType methodName(formal
    parameter list)
  • statements
  • return expr
  • The definition of the method has two components
  • The body of the method, the statements between
    , the code required to implement the method and
    return the value
  • The heading of the method, the line defining
    modifiers, returnType, methodName and formal
    parameters or arguments

14
User-Defined Methods
  • Value-returning methods
  • Used in expressions
  • Calculate and return a value
  • Can be used in the expression in an assignment
    statement to save value for later use
  • Modifiers public, private, protected, static,
    abstract, final
  • returnType
  • type of value that the method calculates and
    returns (using return statement)
  • Type of expression formed by call of method
  • methodName Java identifier name of method

15
Syntax
  • Syntax Formal Parameter List
  • The syntax of the formal parameter list is
  • dataType identifier, dataType identifier,...
  • Method Call
  • The syntax to call a value-returning method is
  • methodName(actual parameter list)
  • Syntax Actual Parameter List
  • The syntax of the actual parameter list is
  • expression or variable, expression or variable,
    ...

16
Equivalent Method Definitions
public static double larger(double x, double y)
double max if(x y) max
x else max y return
max
17
Equivalent Method Definitions
  • public static double larger(double x, double y)
  • if(x y)
  • return x
  • else
  • return y

18
Programming Example Palindrome Number
  • Palindrome integer or string that reads the same
    forwards and backwards
  • Input integer or string
  • Output Boolean message indicating whether
    integer string is a palindrome

19
Solution isPalindrome Method
20
Flow of Execution
  • Execution always begins with the first statement
    in the method main
  • User-defined methods execute only when called
  • Call to method transfers control from caller to
    called method
  • In method call statement, specify only actual
    parameters, not data type or method type
  • Control goes back to caller when method exits

21
Programming Example Largest Number
  • Input Set of 10 numbers
  • Output Largest of 10 numbers
  • Solution
  • Get numbers one at a time
  • Method largest number returns the larger of 2
    numbers
  • For loop calls method largest number on each
    number received and compares to current largest
    number

22
Void Methods
  • Similar in structure to value-returning methods
  • No method type
  • Call to method is always stand-alone statement
  • Can use return statement to exit method early
  • Return statement does not return the value of an
    expression

23
Void Methods with no parameters Syntax
  • Method Definition
  • modifier(s) void methodName( formal parameter
    list)
  • statements
  • Method Call (Within the Class)
  • methodName()

24
Void Methods with Parameters Syntax
  • Method Definition
  • Definition of a void method with parameters
  • modifier(s) void methodName(formal parameter
    list)
  • statements
  • Formal Parameter List
  • The formal parameter list has the following
    syntax
  • dataType variable, dataType variable, ...

25
Void Methods with Parameters Syntax
Method Call The method call has the following syn
tax methodName(actual parameter list) Act
ual Parameter List The actual parameter list has
the following syntax expression or variable,
expression or variable, ...
26
Primitive Data Type Variables as Parameters
  • A formal parameter receives a copy of its
    corresponding actual parameter
  • If a formal parameter is a variable of a
    primitive data type
  • Value of actual parameter is directly stored
  • Cannot pass information outside the method
  • Provides only a one-way link between actual
    parameters and formal parameters

27
Reference Variables as Parameters
  • If a formal parameter is a reference variable
  • Copies value of corresponding actual parameter
  • Value of actual parameter is address of object
    where actual data is stored
  • Both formal and actual parameter refer to same
    object

28
Uses of Reference Variables as Parameters
  • Can return more than one value from a method
  • Can change the value of the actual object
  • When passing address, would save memory space and
    time, relative to copying large amount of data

29
Reference Variables as Parameters type String
30
Scope of an Identifier Within a Class
  • Scope (of an identifier) refers to those parts
    of a program where the identifier is accessible
  • Local variables variables declared within a
    method (or block)
  • Within a class
  • Any method can call any other method
  • Exception static method cannot call a nonstatic
    method

31
Scope Rules
  • Identifier declared within a block is accessible
  • Only within the block from the point at which it
    is declared until the end of the block
  • By those blocks nested within that block if the
    nested block does not have an identifier with the
    same name as the identifier in the outside block
  • Outside block block that encloses nested
    block

32
Scope Rules Demonstrated
  • public class ScopeRules
  • static final double rate 10.50
  • static int z
  • static double t
  • public static void main(String args)
  • int num
  • double x, z
  • char ch
  • //...
  • public static void one(int x, char y)
  • //...
  • public static int w
  • public static void two(int one, int z)
  • char ch
  • int a
  • //block three
  • int x 12
  • //...
  • //end block three
  • //...

33
Scope Rules Demonstrated
34
Method Overloading An Introduction
  • Method overloading more than one method can have
    the same name
  • Overloading Rules
  • Every method must have a different number of
    formal parameters
  • OR
  • If the number of formal parameters is the same,
    then the data type of the formal parameter (in
    the order listed), must differ in at least one
    position
  • Types of parameters determine which method
    executes

35
Programming Example Data Comparison
  • Input Data from 2 different files
  • Data format Course Number followed by scores
  • Output Course Number, Group Number, Course
    Average
  • Solution
  • Read from more than one file, write output to
    file
  • Generate bar graphs
  • User-defined methods and re-use (calculateAverage
    and printResult)
  • Parameter passing

36
Chapter Summary
  • Predefined methods
  • User-defined methods
  • Value-returning methods
  • Void methods
  • Formal parameters
  • Actual parameters
  • Flow of Execution

37
Chapter Summary
  • Primitive data type variables as parameters
  • One-way link between actual parameters and formal
    parameters (limitations caused)
  • Reference variables as parameters
  • Can pass one or more variables from a method
  • Can change value of actual parameter
  • Scope of an identifier within a class
  • Method overloading
Write a Comment
User Comments (0)
About PowerShow.com