1 cos 260 day 3 tony gauvin. 2 agenda questions? 1 st mini quiz on chap1 terms and concepts –today...
TRANSCRIPT
![Page 1: 1 COS 260 DAY 3 Tony Gauvin. 2 Agenda Questions? 1 st Mini quiz on chap1 terms and concepts –Today In BlackBoard –30 min., M/C and short answer, open](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f385503460f94c54521/html5/thumbnails/1.jpg)
1
COS 260 DAY 3
Tony Gauvin
![Page 2: 1 COS 260 DAY 3 Tony Gauvin. 2 Agenda Questions? 1 st Mini quiz on chap1 terms and concepts –Today In BlackBoard –30 min., M/C and short answer, open](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f385503460f94c54521/html5/thumbnails/2.jpg)
2
Agenda
• Questions? • 1st Mini quiz on chap1 terms and concepts
– Today In BlackBoard– 30 min., M/C and short answer, open book,
open notes, open computer – Password “Gosling”
• Assignment 1 posted in Blackboard – Chap1 & 2 – Due September 17 prior to class
• Understanding class definitions
![Page 3: 1 COS 260 DAY 3 Tony Gauvin. 2 Agenda Questions? 1 st Mini quiz on chap1 terms and concepts –Today In BlackBoard –30 min., M/C and short answer, open](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f385503460f94c54521/html5/thumbnails/3.jpg)
3
Getting what you need1. Java JDK
– http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
– Pick the Kit for your OS
2. BlueJ – http://www.bluej.org/ – Download BlueJ installer for your OS
3. Projects for Class (and other resources)
– http://www.bluej.org/objects-first/ Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling
![Page 4: 1 COS 260 DAY 3 Tony Gauvin. 2 Agenda Questions? 1 st Mini quiz on chap1 terms and concepts –Today In BlackBoard –30 min., M/C and short answer, open](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f385503460f94c54521/html5/thumbnails/4.jpg)
Understanding class definitions
Looking inside classes
5.0
![Page 5: 1 COS 260 DAY 3 Tony Gauvin. 2 Agenda Questions? 1 st Mini quiz on chap1 terms and concepts –Today In BlackBoard –30 min., M/C and short answer, open](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f385503460f94c54521/html5/thumbnails/5.jpg)
5
Main concepts to be covered
• fields• constructors• methods• parameters• assignment statements
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling
![Page 6: 1 COS 260 DAY 3 Tony Gauvin. 2 Agenda Questions? 1 st Mini quiz on chap1 terms and concepts –Today In BlackBoard –30 min., M/C and short answer, open](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f385503460f94c54521/html5/thumbnails/6.jpg)
6
Ticket machines
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling
Demo
Source: http://www.boston.com/yourtown/news/assets_c/2012/05/fare%20increases-thumb-520x518-72121.jpg
![Page 7: 1 COS 260 DAY 3 Tony Gauvin. 2 Agenda Questions? 1 st Mini quiz on chap1 terms and concepts –Today In BlackBoard –30 min., M/C and short answer, open](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f385503460f94c54521/html5/thumbnails/7.jpg)
7
Ticket machines – an external view
• Exploring the behavior of a typical ticket machine.– Use the naive-ticket-machine project.– Machines supply tickets of a fixed price.
• How is that price determined?
– How is ‘money’ entered into a machine?– How does a machine keep track of the
money that is entered?
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling
![Page 8: 1 COS 260 DAY 3 Tony Gauvin. 2 Agenda Questions? 1 st Mini quiz on chap1 terms and concepts –Today In BlackBoard –30 min., M/C and short answer, open](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f385503460f94c54521/html5/thumbnails/8.jpg)
8
Ticket machines – an internal view
• Interacting with an object gives us clues about its behavior.
• Looking inside allows us to determine how that behavior is provided or implemented.
• All Java classes have a similar-looking internal view.
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling
![Page 9: 1 COS 260 DAY 3 Tony Gauvin. 2 Agenda Questions? 1 st Mini quiz on chap1 terms and concepts –Today In BlackBoard –30 min., M/C and short answer, open](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f385503460f94c54521/html5/thumbnails/9.jpg)
9
Basic class structure
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling
public class TicketMachine{ Inner part omitted.}
public class ClassName{ Fields Constructors Methods}
The outer wrapper of TicketMachine
The inner contents of a class
![Page 10: 1 COS 260 DAY 3 Tony Gauvin. 2 Agenda Questions? 1 st Mini quiz on chap1 terms and concepts –Today In BlackBoard –30 min., M/C and short answer, open](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f385503460f94c54521/html5/thumbnails/10.jpg)
10
Keywords• Words with a special meaning in the
language:– public– class– private– int
• Also known as reserved words or keywords.– http://docs.oracle.com/javase/tutorial/java/n
utsandbolts/_keywords.html
![Page 11: 1 COS 260 DAY 3 Tony Gauvin. 2 Agenda Questions? 1 st Mini quiz on chap1 terms and concepts –Today In BlackBoard –30 min., M/C and short answer, open](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f385503460f94c54521/html5/thumbnails/11.jpg)
11
Fields• Fields store values
for an object.• They are also
known as instance variables.
• Fields define the state of an object.
• Use Inspect to view the state.
• Some values change often.
• Some change rarely (or not at all).
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling
public class TicketMachine{ private int price; private int balance; private int total; Further details omitted.}
private int price;
visibility modifiertype
variable name
![Page 12: 1 COS 260 DAY 3 Tony Gauvin. 2 Agenda Questions? 1 st Mini quiz on chap1 terms and concepts –Today In BlackBoard –30 min., M/C and short answer, open](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f385503460f94c54521/html5/thumbnails/12.jpg)
12
Constructors
• Initialize an object.• Have the same name as their class.• Close association with the fields.• Store initial values into the fields.• External parameter values for this.
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling
public TicketMachine(int cost){ price = cost; balance = 0; total = 0;}
![Page 13: 1 COS 260 DAY 3 Tony Gauvin. 2 Agenda Questions? 1 st Mini quiz on chap1 terms and concepts –Today In BlackBoard –30 min., M/C and short answer, open](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f385503460f94c54521/html5/thumbnails/13.jpg)
13
Passing data via parameters
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling
Parameters are another sort of variable.
![Page 14: 1 COS 260 DAY 3 Tony Gauvin. 2 Agenda Questions? 1 st Mini quiz on chap1 terms and concepts –Today In BlackBoard –30 min., M/C and short answer, open](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f385503460f94c54521/html5/thumbnails/14.jpg)
14
Choosing variable names
• There is a lot of freedom over choice of names. Use it wisely!
• Choose expressive names to make code easier to understand:– price, amount, name, age, etc.– myPrice, toyPrice, totalAmount
• Avoid single-letter or cryptic names:– w, t5, xyz123
![Page 15: 1 COS 260 DAY 3 Tony Gauvin. 2 Agenda Questions? 1 st Mini quiz on chap1 terms and concepts –Today In BlackBoard –30 min., M/C and short answer, open](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f385503460f94c54521/html5/thumbnails/15.jpg)
15
Assignment
• Values are stored into fields (and other variables) via assignment statements:– variable = expression;– cost = 5; – price = cost;– cost = 7;
• A variable stores a single value, so any previous value is lost.
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling
![Page 16: 1 COS 260 DAY 3 Tony Gauvin. 2 Agenda Questions? 1 st Mini quiz on chap1 terms and concepts –Today In BlackBoard –30 min., M/C and short answer, open](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f385503460f94c54521/html5/thumbnails/16.jpg)
16
Main concepts to be covered
• methods– including accessor and mutator
methods
• conditional statements• string concatenation• local variables
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling
![Page 17: 1 COS 260 DAY 3 Tony Gauvin. 2 Agenda Questions? 1 st Mini quiz on chap1 terms and concepts –Today In BlackBoard –30 min., M/C and short answer, open](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f385503460f94c54521/html5/thumbnails/17.jpg)
17
Methods
• Methods implement the behavior of objects.• Methods have a consistent structure
comprised of a header and a body.• Accessor methods provide information
about an object.• Mutator methods alter the state of an
object.• Other sorts of methods accomplish a
variety of tasks.
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling
![Page 18: 1 COS 260 DAY 3 Tony Gauvin. 2 Agenda Questions? 1 st Mini quiz on chap1 terms and concepts –Today In BlackBoard –30 min., M/C and short answer, open](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f385503460f94c54521/html5/thumbnails/18.jpg)
18
Method structure
• The header provides the method’s signature:– public int getPrice()
• The header tells us:– the name of the method– what parameters it takes– whether it returns a result– its visibility to objects of other classes
• The body encloses the method’s statements.
{ body_statemnts; }
![Page 19: 1 COS 260 DAY 3 Tony Gauvin. 2 Agenda Questions? 1 st Mini quiz on chap1 terms and concepts –Today In BlackBoard –30 min., M/C and short answer, open](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f385503460f94c54521/html5/thumbnails/19.jpg)
19
Accessor (get) methods
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling
public int getPrice(){ return price;}
return type method name
parameter list (empty)
start and end of method body (anything between “{“ & “}” is a block)
return statement
visibility modifier
![Page 20: 1 COS 260 DAY 3 Tony Gauvin. 2 Agenda Questions? 1 st Mini quiz on chap1 terms and concepts –Today In BlackBoard –30 min., M/C and short answer, open](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f385503460f94c54521/html5/thumbnails/20.jpg)
20
Accessor methods
• An accessor method always has a return type that is not void.
• An accessor method returns a value (result) of the type given in the header.
• The method will contain a return statement to return the value.
• NB: Returning is not printing!
![Page 21: 1 COS 260 DAY 3 Tony Gauvin. 2 Agenda Questions? 1 st Mini quiz on chap1 terms and concepts –Today In BlackBoard –30 min., M/C and short answer, open](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f385503460f94c54521/html5/thumbnails/21.jpg)
22
Test
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling
public class CokeMachine{private price;
public CokeMachine(){ price = 300}
public int getPrice{ return Price;}
}
;
()
int
-
• What is wrong here?
(there are five errors!)
![Page 22: 1 COS 260 DAY 3 Tony Gauvin. 2 Agenda Questions? 1 st Mini quiz on chap1 terms and concepts –Today In BlackBoard –30 min., M/C and short answer, open](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f385503460f94c54521/html5/thumbnails/22.jpg)
23
Mutator methods
• Have a similar method structure: header and body.
• Used to mutate (i.e., change) an object’s state.
• Achieved through changing the value of one or more fields.– Typically contain assignment
statements.– Often receive parameters.
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling
![Page 23: 1 COS 260 DAY 3 Tony Gauvin. 2 Agenda Questions? 1 st Mini quiz on chap1 terms and concepts –Today In BlackBoard –30 min., M/C and short answer, open](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f385503460f94c54521/html5/thumbnails/23.jpg)
24
Mutator methods
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling
public void insertMoney(int amount){ balance = balance + amount;}
return typemethod name parameter
visibility modifier
assignment statementfield being mutated
![Page 24: 1 COS 260 DAY 3 Tony Gauvin. 2 Agenda Questions? 1 st Mini quiz on chap1 terms and concepts –Today In BlackBoard –30 min., M/C and short answer, open](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f385503460f94c54521/html5/thumbnails/24.jpg)
25
set mutator methods
• Fields often have dedicated set mutator methods.
• These have a simple, distinctive form:– void return type– method name related to the field
name– single parameter, with the same type
as the type of the field– a single assignment statement
![Page 25: 1 COS 260 DAY 3 Tony Gauvin. 2 Agenda Questions? 1 st Mini quiz on chap1 terms and concepts –Today In BlackBoard –30 min., M/C and short answer, open](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f385503460f94c54521/html5/thumbnails/25.jpg)
26
A typical set method
public void setDiscount(int amount){ discount = amount;}
We can infer that discount is a field of type int, i.e:
private int discount;
![Page 26: 1 COS 260 DAY 3 Tony Gauvin. 2 Agenda Questions? 1 st Mini quiz on chap1 terms and concepts –Today In BlackBoard –30 min., M/C and short answer, open](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f385503460f94c54521/html5/thumbnails/26.jpg)
27
Protective mutators
• A set method does not have to assign the parameter to the field.
• The parameter may be checked for validity and rejected if inappropriate.
• Mutators thereby protect fields.• Mutators support encapsulation.
![Page 27: 1 COS 260 DAY 3 Tony Gauvin. 2 Agenda Questions? 1 st Mini quiz on chap1 terms and concepts –Today In BlackBoard –30 min., M/C and short answer, open](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f385503460f94c54521/html5/thumbnails/27.jpg)
28
Printing from methods
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling
public void printTicket(){ // Simulate the printing of a ticket. System.out.println("##################"); System.out.println("# The BlueJ Line"); System.out.println("# Ticket"); System.out.println("# " + price + " cents."); System.out.println("##################"); System.out.println(); // Update the total collected with the balance. total = total + balance; // Clear the balance. balance = 0;}
![Page 28: 1 COS 260 DAY 3 Tony Gauvin. 2 Agenda Questions? 1 st Mini quiz on chap1 terms and concepts –Today In BlackBoard –30 min., M/C and short answer, open](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f385503460f94c54521/html5/thumbnails/28.jpg)
29
String concatenation
• 4 + 59
• "wind" + "ow""window"
• "Result: " + 6"Result: 6"
• "# " + price + " cents""# 500 cents"
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling
overloading
![Page 29: 1 COS 260 DAY 3 Tony Gauvin. 2 Agenda Questions? 1 st Mini quiz on chap1 terms and concepts –Today In BlackBoard –30 min., M/C and short answer, open](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f385503460f94c54521/html5/thumbnails/29.jpg)
30
Quiz
• System.out.println(5 + 6 + "hello");
• System.out.println("hello" + 5 + 6);
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling
11hello
hello56
![Page 30: 1 COS 260 DAY 3 Tony Gauvin. 2 Agenda Questions? 1 st Mini quiz on chap1 terms and concepts –Today In BlackBoard –30 min., M/C and short answer, open](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f385503460f94c54521/html5/thumbnails/30.jpg)
31
Method summary
• Methods implement all object behavior.• A method has a name and a return
type.– The return-type may be void.– A non-void return type means the method
will return a value to its caller.
• A method might take parameters.– Parameters bring values in from outside for
the method to use.
![Page 31: 1 COS 260 DAY 3 Tony Gauvin. 2 Agenda Questions? 1 st Mini quiz on chap1 terms and concepts –Today In BlackBoard –30 min., M/C and short answer, open](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f385503460f94c54521/html5/thumbnails/31.jpg)
32
Reflecting on the ticket machines
• Their behavior is inadequate in several ways:– No checks on the amounts entered.– No refunds.– No checks for a sensible initialization.
• How can we do better?– We need more sophisticated behavior.
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling
![Page 32: 1 COS 260 DAY 3 Tony Gauvin. 2 Agenda Questions? 1 st Mini quiz on chap1 terms and concepts –Today In BlackBoard –30 min., M/C and short answer, open](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f385503460f94c54521/html5/thumbnails/32.jpg)
33
Making choices in everyday life
• If I have enough money left, then I will go out for a meal
• otherwise I will stay home and watch a movie.
![Page 33: 1 COS 260 DAY 3 Tony Gauvin. 2 Agenda Questions? 1 st Mini quiz on chap1 terms and concepts –Today In BlackBoard –30 min., M/C and short answer, open](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f385503460f94c54521/html5/thumbnails/33.jpg)
34
Making a choice in everyday life
if(I have enough money left) { go out for a meal;}else { stay home and watch a movie;}
![Page 34: 1 COS 260 DAY 3 Tony Gauvin. 2 Agenda Questions? 1 st Mini quiz on chap1 terms and concepts –Today In BlackBoard –30 min., M/C and short answer, open](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f385503460f94c54521/html5/thumbnails/34.jpg)
35
Making choices in Java
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling
if(perform some test) { Do these statements if the test gave a true result}else { Do these statements if the test gave a false result}
‘if’ keywordboolean condition to be tested
actions if condition is true
actions if condition is false
‘else’ keyword
![Page 35: 1 COS 260 DAY 3 Tony Gauvin. 2 Agenda Questions? 1 st Mini quiz on chap1 terms and concepts –Today In BlackBoard –30 min., M/C and short answer, open](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f385503460f94c54521/html5/thumbnails/35.jpg)
36
Making a choice in theticket machine
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling
public void insertMoney(int amount){ if(amount > 0) { balance = balance + amount; } else { System.out.println( "Use a positive amount: " + amount); }}
![Page 36: 1 COS 260 DAY 3 Tony Gauvin. 2 Agenda Questions? 1 st Mini quiz on chap1 terms and concepts –Today In BlackBoard –30 min., M/C and short answer, open](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f385503460f94c54521/html5/thumbnails/36.jpg)
37
How do we write 'refundBalance'?
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling
![Page 37: 1 COS 260 DAY 3 Tony Gauvin. 2 Agenda Questions? 1 st Mini quiz on chap1 terms and concepts –Today In BlackBoard –30 min., M/C and short answer, open](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f385503460f94c54521/html5/thumbnails/37.jpg)
38
Variables – a recap
• Fields are one sort of variable.– They store values through the life of an
object.– They are accessible throughout the class.
• Parameters are another sort of variable:– They receive values from outside the
method.– They help a method complete its task.– Each call to the method receives a fresh set
of values.– Parameter values are short lived.
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling
![Page 38: 1 COS 260 DAY 3 Tony Gauvin. 2 Agenda Questions? 1 st Mini quiz on chap1 terms and concepts –Today In BlackBoard –30 min., M/C and short answer, open](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f385503460f94c54521/html5/thumbnails/38.jpg)
39
Local variables
• Methods can define their own, local variables:– Short lived, like parameters.– The method sets their values – unlike
parameters, they do not receive external values.
– Used for ‘temporary’ calculation and storage.
– They exist only as long as the method is being executed.
– They are only accessible from within the method.
![Page 39: 1 COS 260 DAY 3 Tony Gauvin. 2 Agenda Questions? 1 st Mini quiz on chap1 terms and concepts –Today In BlackBoard –30 min., M/C and short answer, open](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f385503460f94c54521/html5/thumbnails/39.jpg)
40
Scope highlighting
![Page 40: 1 COS 260 DAY 3 Tony Gauvin. 2 Agenda Questions? 1 st Mini quiz on chap1 terms and concepts –Today In BlackBoard –30 min., M/C and short answer, open](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f385503460f94c54521/html5/thumbnails/40.jpg)
41
Scope and lifetime
• Each block defines a new scope.– Class, method and statement.
• Scopes may be nested:– statement block inside another
block inside a method body inside a class body.
• Scope is static (textual).• Lifetime is dynamic (runtime).
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling
![Page 41: 1 COS 260 DAY 3 Tony Gauvin. 2 Agenda Questions? 1 st Mini quiz on chap1 terms and concepts –Today In BlackBoard –30 min., M/C and short answer, open](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f385503460f94c54521/html5/thumbnails/41.jpg)
42
Local variables
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling
public int refundBalance(){ int amountToRefund; amountToRefund = balance; balance = 0; return amountToRefund;}
A local variable
No visibilitymodifier
![Page 42: 1 COS 260 DAY 3 Tony Gauvin. 2 Agenda Questions? 1 st Mini quiz on chap1 terms and concepts –Today In BlackBoard –30 min., M/C and short answer, open](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f385503460f94c54521/html5/thumbnails/42.jpg)
43
Scope and lifetime
• The scope of a local variable is the block in which it is declared.
• The lifetime of a local variable is the time of execution of the block in which it is declared.
• The scope of a field is its whole class.
• The lifetime of a field is the lifetime of its containing object.
![Page 43: 1 COS 260 DAY 3 Tony Gauvin. 2 Agenda Questions? 1 st Mini quiz on chap1 terms and concepts –Today In BlackBoard –30 min., M/C and short answer, open](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f385503460f94c54521/html5/thumbnails/43.jpg)
44
Review (1)
• Class bodies contain fields, constructors and methods.
• Fields store values that determine an object’s state.
• Constructors initialize objects – particularly their fields.
• Methods implement the behavior of objects.
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling
![Page 44: 1 COS 260 DAY 3 Tony Gauvin. 2 Agenda Questions? 1 st Mini quiz on chap1 terms and concepts –Today In BlackBoard –30 min., M/C and short answer, open](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f385503460f94c54521/html5/thumbnails/44.jpg)
45
Review (2)
• Fields, parameters and local variables are all variables.
• Fields persist for the lifetime of an object.
• Parameters are used to receive values into a constructor or method.
• Local variables are used for short-lived temporary storage.
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling
![Page 45: 1 COS 260 DAY 3 Tony Gauvin. 2 Agenda Questions? 1 st Mini quiz on chap1 terms and concepts –Today In BlackBoard –30 min., M/C and short answer, open](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f385503460f94c54521/html5/thumbnails/45.jpg)
46
Review (3)
• Methods have a return type.• void methods do not return
anything.• non-void methods return a value.• non-void methods have a return
statement.
![Page 46: 1 COS 260 DAY 3 Tony Gauvin. 2 Agenda Questions? 1 st Mini quiz on chap1 terms and concepts –Today In BlackBoard –30 min., M/C and short answer, open](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f385503460f94c54521/html5/thumbnails/46.jpg)
47
Review (4)
• ‘Correct’ behavior often requires objects to make decisions.
• Objects can make decisions via conditional (if) statements.
• A true-or-false test allows one of two alternative courses of actions to be taken.
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling