CS100A Lecture 7 - PowerPoint PPT Presentation

About This Presentation
Title:

CS100A Lecture 7

Description:

A method is a named parameterized group of statements. Method definition ... Class Definition Example. class Account. int balance; // current balance ... – PowerPoint PPT presentation

Number of Views:22
Avg rating:3.0/5.0
Slides: 16
Provided by: Mill1
Category:

less

Transcript and Presenter's Notes

Title: CS100A Lecture 7


1
CS100A Lecture 7
  • Previous Lecture
  • Computation and computational power
  • Abstraction
  • Classes, Objects, and Methods
  • References and aliases
  • Reading Lewis Loftus, Chapter 4
  • This Lecture
  • Programming Concepts
  • Classes, Objects, and Methods --- reiterated
  • Accessors
  • Encapsulation
  • Java Constructs
  • return statement

2
Class Definition
  • A class is a named group of declarations and
    methods
  • Class definition
  • class class-name
  • declarations
  • methods
  • A method is a named parameterized group of
    statements
  • Method definition
  • return-type method-name( parameter-list )
  • statement-list

3
Class Definition Example
  • class Account
  • int balance // current balance
  • int deposits // deposits to date
  • int withdrawals // withdrawals to date
  • // deposit d to account
  • void deposit(int d)
  • balance balance d
  • deposits deposits d
  • // withdraw w from account
  • void withdraw(int w)
  • balance balance - w
  • withdrawals withdrawals w

4
Object Instantiation
  • The value of the expression
  • new class-name()
  • is a reference to a new object of the given
    class-name

5
Object Instance Example
  • An object is a collection of instance variables
    (known as fields) and methods
  • An object can be referred to as a unit

6
Access to Fields and Methods
  • If
  • r refers to object o of class c,
  • f is a field of o
  • m is a method of o
  • then
  • r.f is a variable of object o
  • r.m is a method of o

7
Application Setting
  • Process bank account transactions
  • The input consists of zero or more non-zero
    integers signifying transactions, followed by
    0.
  • A positive value is a deposit.
  • A negative value is a withdrawal.
  • Process assume the account has an initial balance
    of 0, process all transactions, and output
  • Final balance
  • Total of all deposits
  • Total of all withdrawals
  • Sample input data
  • 100 200 -50 0
  • Sample output
  • Balance 250
  • Deposits 300
  • Withdrawals 50

8
Application Example
  • int amount
  • Account account new Account()
  • / Read and process all transactions. /
  • amount in.readInt()
  • while ( amount ! 0 )
  • if ( amount gt 0 )
  • account.deposit(amount)
  • else
  • account.withdraw(-amount)
  • amount in.readInt()
  • / Output summary information. /
  • System.out.println(
  • Balance account.balance
  • )
  • System.out.println(

9
Methods that Return Values
  • Method invocation
  • object-expression . method-name(expression-list)
  • Method execution
  • initialize the parameters with the values of the
    argument expressions
  • execute the statement-list of the method
  • thereafter, continue where you were before
  • Non-void methods with return-type t can return a
    value of type t using the statement
  • return expression

10
Class Definition Example, Version 2
  • class Account
  • int balance // current balance
  • int deposits // deposits to date
  • int withdrawals // withdrawals to date
  • // deposit d to account
  • void deposit(int d)
  • balance balance d
  • deposits deposits d
  • // withdraw w from account
  • void withdraw(int w)
  • balance balance - w
  • withdrawals withdrawals w
  • // accessors

11
Application Example, Version 2
  • int amount
  • Account account new Account()
  • / Read and process all transactions. /
  • amount in.readInt()
  • while ( amount ! 0 )
  • if ( amount gt 0 )
  • account.deposit(amount)
  • else
  • account.withdraw(-amount)
  • amount in.readInt()
  • / Output summary information. /
  • System.out.println(
  • Balance account.getBalance()
  • )
  • System.out.println(

12
Visibility Modifiers
  • A field declarations and method definitions can
    have a visibility-modifier
  • Declarations
  • visibility-modifier type name
  • Method definitions
  • visibility-modifier
  • return-type method-name( parameter-list )
  • statement-list
  • Possible visibility modifiers are
  • public
  • private
  • others later

13
Class Definition Example, Version 3
  • class Account
  • private int balance // current balance
  • private int deposits // deposits to date
  • private int withdrawals // withdrawals to date
  • // deposit d to account
  • void deposit(int d)
  • balance balance d
  • deposits deposits d
  • // withdraw w from account
  • void withdraw(int w)
  • balance balance - w
  • withdrawals withdrawals w
  • // accessors

14
Class Definition Example, Version 4
  • class Account
  • private int deposits // deposits to date
  • private int withdrawals // withdrawals to date
  • // deposit d to account
  • void deposit(int d)
  • deposits deposits d
  • // withdraw w from account
  • void withdraw(int w)
  • withdrawals withdrawals w
  • // accessors
  • int getBalance()
  • return deposits - withdrawals

15
Encapsulation and Information Hiding
  • The users of a class and its objects are called
    its clients.
  • The author of a class is called its implementor.
  • Information hiding principle. Implementors hide
    implementation details inside a class definition
    so clients cant see them. In particular, they
    make all fields private.
  • The methods of a class provide services to
    clients. The interface of a class is the contract
    in which the implementor commits to deliver
    certain services to the clients.
  • Implementors are free to change the
    implementation of a class provided the interface
    doesnt change, i.e. provided the cant see any
    change in services.
Write a Comment
User Comments (0)
About PowerShow.com