Review Creating Objects Pepper many references from rial/java/objects/object.html
-
Upload
shawn-rice -
Category
Documents
-
view
236 -
download
0
description
Transcript of Review Creating Objects Pepper many references from rial/java/objects/object.html
![Page 1: Review Creating Objects Pepper many references from rial/java/objects/object.html](https://reader036.fdocuments.net/reader036/viewer/2022062401/5a4d1ad07f8b9ab059970fef/html5/thumbnails/1.jpg)
Review Creating Objects
Peppermany references from
http://journals.ecs.soton.ac.uk/java/tutorial/java/objects/object.html
![Page 2: Review Creating Objects Pepper many references from rial/java/objects/object.html](https://reader036.fdocuments.net/reader036/viewer/2022062401/5a4d1ad07f8b9ab059970fef/html5/thumbnails/2.jpg)
Objects you use
• Scanner • Random
ABC System.in
nextInt
nextDouble
next
![Page 3: Review Creating Objects Pepper many references from rial/java/objects/object.html](https://reader036.fdocuments.net/reader036/viewer/2022062401/5a4d1ad07f8b9ab059970fef/html5/thumbnails/3.jpg)
Class blueprint Instance
• Scanner x = new Scanner(System.in)• int y = x.nextInt;
nextInt
nextDouble
next
Scanner Class
System.in 1223
nextInt
nextDouble
next
x
Input &Type
![Page 4: Review Creating Objects Pepper many references from rial/java/objects/object.html](https://reader036.fdocuments.net/reader036/viewer/2022062401/5a4d1ad07f8b9ab059970fef/html5/thumbnails/4.jpg)
People class
say
moveArm
blink
People Class
mary
hair coloreye colorarm length
say
moveArm
blinkbrowngreen11
carrie
say
moveArm
blinkblondblue5
![Page 5: Review Creating Objects Pepper many references from rial/java/objects/object.html](https://reader036.fdocuments.net/reader036/viewer/2022062401/5a4d1ad07f8b9ab059970fef/html5/thumbnails/5.jpg)
Creating a blueprint
• Add instance variables inside class and outside methods
public class Student{
private String hairColor;private String eyeColor;private int armLength;
/**}
![Page 6: Review Creating Objects Pepper many references from rial/java/objects/object.html](https://reader036.fdocuments.net/reader036/viewer/2022062401/5a4d1ad07f8b9ab059970fef/html5/thumbnails/6.jpg)
Creating a blueprint
• remove static from methodspublic void printPerson ()
{
System.out.println ("The eye color is "+ eyeColor + " and the hair color is " + hairColor);
}
![Page 7: Review Creating Objects Pepper many references from rial/java/objects/object.html](https://reader036.fdocuments.net/reader036/viewer/2022062401/5a4d1ad07f8b9ab059970fef/html5/thumbnails/7.jpg)
Use the blueprint
Student mary = new Student();Student carrie = new Student();mary.setEyeColor("green");mary.setHairColor("brown");carrie.setEyeColor("blue");carrie.setHairColor("blonde");
![Page 8: Review Creating Objects Pepper many references from rial/java/objects/object.html](https://reader036.fdocuments.net/reader036/viewer/2022062401/5a4d1ad07f8b9ab059970fef/html5/thumbnails/8.jpg)
Look at the class again - thispublic void setEyeColor(String colorin) { this.eyeColor = colorin; }
mary
say
moveArm
blinkbrowngreen11
carrie
say
moveArm
blinkblondblue5
![Page 9: Review Creating Objects Pepper many references from rial/java/objects/object.html](https://reader036.fdocuments.net/reader036/viewer/2022062401/5a4d1ad07f8b9ab059970fef/html5/thumbnails/9.jpg)
Exercise – make a point class
• setxy – take in 2 int to set x and y
• getx – return x• gety – return y• getDistance – take in
1 point and return distance to it
Point
gety
getx
setxyxy
getDistance 2122
12 yyxx
![Page 10: Review Creating Objects Pepper many references from rial/java/objects/object.html](https://reader036.fdocuments.net/reader036/viewer/2022062401/5a4d1ad07f8b9ab059970fef/html5/thumbnails/10.jpg)
Make a point public class Point{ int x; int y; public void setxy (int xIn, int yIn) { this.x = xIn; this.y = yIn;} public int getx() { return this.x;} public int gety() { return this.y;} public double getDistance(Point another) { return Math.sqrt((this.x-another.getx()) * (this.x-another.getx()) + (this.y-another.gety()) * (this.y-another.gety())); }}
![Page 11: Review Creating Objects Pepper many references from rial/java/objects/object.html](https://reader036.fdocuments.net/reader036/viewer/2022062401/5a4d1ad07f8b9ab059970fef/html5/thumbnails/11.jpg)
PointUsepublic class PointUse{ public static void main() { Point one = new Point(); Point two = new Point(); one.setxy(1,2); two.setxy(4,6); System.out.println(one.getDistance(two)); }}
![Page 12: Review Creating Objects Pepper many references from rial/java/objects/object.html](https://reader036.fdocuments.net/reader036/viewer/2022062401/5a4d1ad07f8b9ab059970fef/html5/thumbnails/12.jpg)
Player class
setName
moveMan
getLoc
Player Class
locationnamescore
setLoc reportWin
setName
moveMan
getLoc
mary
30mary100
setLoc reportWin
setName
moveMan
getLoc
carrie
40carrie30
setLoc reportWin
![Page 13: Review Creating Objects Pepper many references from rial/java/objects/object.html](https://reader036.fdocuments.net/reader036/viewer/2022062401/5a4d1ad07f8b9ab059970fef/html5/thumbnails/13.jpg)
Teach that player how to do things
• setName – take a string to change name• setLoc – take an int to change location• getLoc – return its loc• reportWin – print win if > 30• moveMan – take in int - amount to move; int - current loc ; return new loc
setName
moveMan
getLoc
Player Class
locationnamescore
setLoc reportWin
![Page 14: Review Creating Objects Pepper many references from rial/java/objects/object.html](https://reader036.fdocuments.net/reader036/viewer/2022062401/5a4d1ad07f8b9ab059970fef/html5/thumbnails/14.jpg)
Player classpublic class Player{
int location; String name; int score;
public void setName(String namein){ this.name = namein;}public void setLoc(int locin){ this.location = locin;}public int setLoc(){ return this.location; }public boolean reportWin(){if (this.location > 30) { System.out.println(name + " won."); return true;} else {return false;}} public int moveMan(int move){ this.location = this.location+move; return this.location;}}
![Page 15: Review Creating Objects Pepper many references from rial/java/objects/object.html](https://reader036.fdocuments.net/reader036/viewer/2022062401/5a4d1ad07f8b9ab059970fef/html5/thumbnails/15.jpg)
Game classpublic class Game1{ public static void main() { Player player1 = new Player(); Player player2 = new Player(); player1.setLoc(0); player2.setLoc(0); player1.setName("mary"); player2.setName("carrie"); player1.moveMan(15); player2.moveMan(13); player1.moveMan(12); player2.moveMan(20); player1.reportWin(); player2.reportWin(); }}
![Page 16: Review Creating Objects Pepper many references from rial/java/objects/object.html](https://reader036.fdocuments.net/reader036/viewer/2022062401/5a4d1ad07f8b9ab059970fef/html5/thumbnails/16.jpg)
Summary So Far• Classes as Blueprints vs Instances
– Variable of a class type – hold instance– Create instances with new Class ()
• Behavior – methods– placement: same as other methods, not static– access: instance.method
• State – instance variables – placement: in class; outside method; – access: this.– scope: throughout class
![Page 17: Review Creating Objects Pepper many references from rial/java/objects/object.html](https://reader036.fdocuments.net/reader036/viewer/2022062401/5a4d1ad07f8b9ab059970fef/html5/thumbnails/17.jpg)
Constructors
• Creates a new instance (a new object)• Can take in parameters so the new object
has information set inside it right away• Special method
– No return– Same name as the class
• Call it with "new" keyword
![Page 18: Review Creating Objects Pepper many references from rial/java/objects/object.html](https://reader036.fdocuments.net/reader036/viewer/2022062401/5a4d1ad07f8b9ab059970fef/html5/thumbnails/18.jpg)
Point class constructorpublic class Point { int x; int y; //============ Constructor public Point(int x, int y) { this.x = x; this.y = y; }
![Page 19: Review Creating Objects Pepper many references from rial/java/objects/object.html](https://reader036.fdocuments.net/reader036/viewer/2022062401/5a4d1ad07f8b9ab059970fef/html5/thumbnails/19.jpg)
Use the Point Constructor
Point myPoint = new Point(1,3);Point yourPoint = new Point(4,5);
myPoint
gety
getx
setxy13
getDistance
yourPoint
gety
getx
setxy45
getDistance
![Page 20: Review Creating Objects Pepper many references from rial/java/objects/object.html](https://reader036.fdocuments.net/reader036/viewer/2022062401/5a4d1ad07f8b9ab059970fef/html5/thumbnails/20.jpg)
Constructors vs Methods• Differences between methods and constructors.
– There is no return type given in a constructor signature (header). The value is this object itself so there is no need to indicate a return value.
– There is no return statement in the body of the constructor. http://www.leepoint.net/notes-java/oop/constructors/constructor.html
![Page 21: Review Creating Objects Pepper many references from rial/java/objects/object.html](https://reader036.fdocuments.net/reader036/viewer/2022062401/5a4d1ad07f8b9ab059970fef/html5/thumbnails/21.jpg)
What is wrong with this code
public class usePoint {public static void main(){Point myPoint1;Point myPoint2;System.out.println(myPoint1.getX());System.out.println(myPoint1.getDistance(myPoint2));}}
![Page 22: Review Creating Objects Pepper many references from rial/java/objects/object.html](https://reader036.fdocuments.net/reader036/viewer/2022062401/5a4d1ad07f8b9ab059970fef/html5/thumbnails/22.jpg)
Summary So Far2• Classes as Blueprints vs Instances
– Variable of a class type – hold instance– Create instances with new Class () – default– Create instances with new Class (cons parms)
• Behavior – methods– placement: same as other methods, not static– access: instance.method– Special method: constructor
• State – instance variables – placement: in class; outside method; – access: this.– scope: throughout class