3 classes and objects
TRANSCRIPT
-
8/2/2019 3 Classes and Objects
1/51
Classes and Objects
-
8/2/2019 3 Classes and Objects
2/51
-
8/2/2019 3 Classes and Objects
3/51
Topics
Object oriented programming
Defining Classes
Using Classes
References vs Values Static types and methods
-
8/2/2019 3 Classes and Objects
4/51
Object oriented programming
Represent the real world
-
8/2/2019 3 Classes and Objects
5/51
Object oriented programming
Objects group together Primitives (int, double, char, etc..)
Objects (String, etc)
-
8/2/2019 3 Classes and Objects
6/51
Why use classes?
Why not just primitives?
-
8/2/2019 3 Classes and Objects
7/51
Why use classes?
-
8/2/2019 3 Classes and Objects
8/51
Why use classes?
-
8/2/2019 3 Classes and Objects
9/51
Why use classes?
-
8/2/2019 3 Classes and Objects
10/51
Why use classes?
-
8/2/2019 3 Classes and Objects
11/51
Why use classes?
-
8/2/2019 3 Classes and Objects
12/51
Why use classes?
-
8/2/2019 3 Classes and Objects
13/51
Defining classes
-
8/2/2019 3 Classes and Objects
14/51
Class overview
-
8/2/2019 3 Classes and Objects
15/51
Class -overview
-
8/2/2019 3 Classes and Objects
16/51
Lets declare a baby!
-
8/2/2019 3 Classes and Objects
17/51
Note
Class names are Capitalized
1 Class = 1 file
Having a main method means the class can be run
-
8/2/2019 3 Classes and Objects
18/51
Baby fields
-
8/2/2019 3 Classes and Objects
19/51
Baby fields
-
8/2/2019 3 Classes and Objects
20/51
Baby Siblings?
-
8/2/2019 3 Classes and Objects
21/51
Ok, lets make this baby!
-
8/2/2019 3 Classes and Objects
22/51
Constructors
-
8/2/2019 3 Classes and Objects
23/51
Constructors
Constructor name == the class name No return typenever returns anything
Usually initialize fields
All classes need at least one constructor If you dont write one, defaults to
CLASSNAME () {
}
-
8/2/2019 3 Classes and Objects
24/51
Baby constructor
-
8/2/2019 3 Classes and Objects
25/51
Baby methods
-
8/2/2019 3 Classes and Objects
26/51
Baby methods
-
8/2/2019 3 Classes and Objects
27/51
Baby class
-
8/2/2019 3 Classes and Objects
28/51
Using classes
-
8/2/2019 3 Classes and Objects
29/51
Classes and Instances
-
8/2/2019 3 Classes and Objects
30/51
Accessing fields
Object.FIELDNAME
-
8/2/2019 3 Classes and Objects
31/51
Calling Methods
Object.METHODNAME([ARGUMENTS])
-
8/2/2019 3 Classes and Objects
32/51
References vs Values
-
8/2/2019 3 Classes and Objects
33/51
Primitives vs References
Primitive types are basic java types int, long, double, boolean, char, short, byte, float
The actual values are stored in the variable
Reference types are arrays and objects
String, int[], Baby,
-
8/2/2019 3 Classes and Objects
34/51
How java stores primitives
Variables are like fixed size cups Primitives are small enough that they just fit into the cup
-
8/2/2019 3 Classes and Objects
35/51
How java stores objects
Objects are too big to fit in a variable Stored somewhere else
Variable stores a number that locates the object
-
8/2/2019 3 Classes and Objects
36/51
References
The objects location is called a reference == compares the references
Does shiloh1 == shiloh2?
-
8/2/2019 3 Classes and Objects
37/51
References
-
8/2/2019 3 Classes and Objects
38/51
References
-
8/2/2019 3 Classes and Objects
39/51
References
-
8/2/2019 3 Classes and Objects
40/51
References
Using = updates the reference
-
8/2/2019 3 Classes and Objects
41/51
References
-
8/2/2019 3 Classes and Objects
42/51
References
using [ ] or Follows the reference to the object
May modify the object, but never the reference
Imagine
Following directions to a house
Moving the furniture around
Analogous to
Following the reference to an object Changing fields in the object
-
8/2/2019 3 Classes and Objects
43/51
static types and methods
-
8/2/2019 3 Classes and Objects
44/51
static
Applies to fields and methods
Means the field/method
Is defined for the class declaration,
Is not unique for each instance
-
8/2/2019 3 Classes and Objects
45/51
static
-
8/2/2019 3 Classes and Objects
46/51
static example
Keep track of the number of babies that have been made
-
8/2/2019 3 Classes and Objects
47/51
static field
Keep track of the number of babies that have been made
-
8/2/2019 3 Classes and Objects
48/51
static method
-
8/2/2019 3 Classes and Objects
49/51
static notes
Non-static methods can reference static methods, but not theother way around. Why?
-
8/2/2019 3 Classes and Objects
50/51
main
Why is main static?
-
8/2/2019 3 Classes and Objects
51/51
Reference/Source
MIT OpenCourseWareIntroduction to Programming in Java
January (IAP) 2010