Xiaoying Gao Computer Science Victoria University of Wellington Copyright: Xiaoying Gao, Peter Andreae, Victoria University of Wellington Creating Objects.

Slides:



Advertisements
Similar presentations
Peter Andreae Computer Science Victoria University of Wellington Copyright: Peter Andreae, Victoria University of Wellington Creating and using Objects.
Advertisements

Xiaoying Gao Computer Science Victoria University of Wellington Copyright: Xiaoying Gao, Peter Andreae, Victoria University of Wellington Arrays COMP 102.
Chapter 7 User-Defined Methods. Chapter Objectives  Understand how methods are used in Java programming  Learn about standard (predefined) methods and.
IMPLEMENTING CLASSES Chapter 3. Black Box  Something that magically does its thing!  You know what it does but not how.  You really don’t care how.
Animation Mrs. C. Furman. Animation  We can animate our crab by switching the image between two pictures.  crab.png and crab2.png.
Introduction to Object-Oriented Programming CS 21a: Introduction to Computing I First Semester,
Peter Andreae Computer Science Victoria University of Wellington Copyright: Peter Andreae, Victoria University of Wellington UI methods, Graphical Output.
David Streader Computer Science Victoria University of Wellington Copyright: David Streader, Victoria University of Wellington Objects Real and Java COMP.
Peter Andreae Computer Science Victoria University of Wellington Copyright: Peter Andreae, Victoria University of Wellington Java Programs COMP 102 #3.
Peter Andreae Computer Science Victoria University of Wellington Copyright: Peter Andreae, Victoria University of Wellington Program Elements and Syntax.
Xiaoying Gao Computer Science Victoria University of Wellington Copyright: Xiaoying Gao, Peter Andreae, Victoria University of Wellington Conditionals.
Data Objects (revisited) Recall that values are stored in data objects, and that each data object holds one value of a particular type. Data objects may.
Peter Andreae Computer Science Victoria University of Wellington Copyright: Peter Andreae, Victoria University of Wellington User Interface COMP 112 #30.
© Xiaoying Gao, Peter Andreae Class, method, statements COMP 102 #3 2014T2 Xiaoying Sharon Gao Computer Science Victoria University of Wellington.
Peter Andreae Computer Science Victoria University of Wellington Copyright: Peter Andreae, Victoria University of Wellington Summary and Exam COMP 102.
© Xiaoying Gao, Peter Andreae UI methods, Variables, Constants COMP 102 #4 2015T2 Xiaoying Sharon Gao Computer Science Victoria University of Wellington.
Xiaoying Gao Computer Science Victoria University of Wellington Copyright: Xiaoying Gao, Peter Andreae, Victoria University of Wellington Create Objects,
©Xiaoying Gao, Peter Andreae First Java Program COMP 102 #2 2014T2 Xiaoying Sharon Gao Computer Science Victoria University of Wellington.
Introduction to Object-Oriented Programming
Peter Andreae Computer Science Victoria University of Wellington Copyright: Peter Andreae, Victoria University of Wellington Methods with Parameters COMP.
Programming in Java Unit 2. Class and variable declaration A class is best thought of as a template from which objects are created. You can create many.
First Java Program COMP 102 #2 2015T2 Xiaoying Sharon Gao Computer Science Victoria University of Wellington.
David Streader Computer Science Victoria University of Wellington Copyright: David Streader, Victoria University of Wellington Java Programing Basics COMP.
Xiaoying Gao Computer Science Victoria University of Wellington Copyright: Xiaoying Gao, Peter Andreae, Victoria University of Wellington More Interfaces.
Xiaoying Gao Computer Science Victoria University of Wellington Copyright: Xiaoying Gao, Peter Andreae, Victoria University of Wellington Call a Method,
CSE 143 Lecture 2 More ArrayList ; classes and objects reading: 10.1; slides created by Marty Stepp and Hélène Martin
David Streader Computer Science Victoria University of Wellington Copyright: David Streader, Victoria University of Wellington Java Programing Basics COMP.
Xiaoying Gao Computer Science Victoria University of Wellington Copyright: Xiaoying Gao, Peter Andreae, Victoria University of Wellington Patterns with.
Xiaoying Gao Computer Science Victoria University of Wellington Copyright: Xiaoying Gao, Peter Andreae, Victoria University of Wellington Methods with.
Peter Andreae Computer Science Victoria University of Wellington Copyright: Peter Andreae, Victoria University of Wellington 2D arrays COMP 102 # T1.
Methods in Java. Program Modules in Java  Java programs are written by combining new methods and classes with predefined methods in the Java Application.
Peter Andreae Computer Science Victoria University of Wellington Copyright: Peter Andreae, Victoria University of Wellington Methods with Parameters COMP.
Xiaoying Gao Computer Science Victoria University of Wellington Copyright: Xiaoying Gao, Peter Andreae, Victoria University of Wellington Files COMP 102.
David Streader & Peter Andreae Computer Science Victoria University of Wellington Copyright: David Streader, Victoria University of Wellington Objects.
Xiaoying Gao Computer Science Victoria University of Wellington Copyright: Xiaoying Gao, Peter Andreae, Victoria University of Wellington Conditionals.
Xiaoying Gao Computer Science Victoria University of Wellington Copyright: Xiaoying Gao, Peter Andreae, Victoria University of Wellington More Interfaces.
Xiaoying Gao Computer Science Victoria University of Wellington Copyright: Xiaoying Gao, Peter Andreae, Victoria University of Wellington Exercise, printf,
Peter Andreae Computer Science Victoria University of Wellington Copyright: Peter Andreae, Victoria University of Wellington Classes, Objects, Fields,
Peter Andreae Computer Science Victoria University of Wellington Copyright: Peter Andreae, Victoria University of Wellington Types and Interfaces COMP.
ACO 101: Intro to Computer Science Anatomy Part 3: The Constructor.
Peter Andreae Computer Science Victoria University of Wellington Copyright: Peter Andreae, Victoria University of Wellington Designing with Classes and.
Xiaoying Gao Computer Science Victoria University of Wellington Copyright: Xiaoying Gao, Peter Andreae, Victoria University of Wellington Fields, Constructors.
Peter Andreae Computer Science Victoria University of Wellington Copyright: Peter Andreae, Victoria University of Wellington More on Files COMP 102 # 14.
Xiaoying Gao Computer Science Victoria University of Wellington Copyright: Xiaoying Gao, Peter Andreae, Victoria University of Wellington Methods with.
Peter Andreae Computer Science Victoria University of Wellington Copyright: Peter Andreae, Victoria University of Wellington Types and Interfaces COMP.
Peter Andreae Computer Science Victoria University of Wellington Copyright: Peter Andreae, Victoria University of Wellington Methods Calling Methods Return.
Bank Account Example public class BankAccount { private double balance; public static int totalAccounts = 0; public BankAccount() { balance = 0; totalAccounts++;
Xiaoying Gao Computer Science Victoria University of Wellington Copyright: Xiaoying Gao, Peter Andreae, Victoria University of Wellington Creating Objects.
Xiaoying Gao Computer Science Victoria University of Wellington Copyright: Xiaoying Gao, Peter Andreae, Victoria University of Wellington UI methods, Graphical.
Peter Andreae Computer Science Victoria University of Wellington Copyright: Peter Andreae, Victoria University of Wellington Java Programs COMP 102 #3.
© Xiaoying Gao, Peter Andreae Variables, Constants, UI methods COMP 102 #4 2014T2 Xiaoying Sharon Gao Computer Science Victoria University of Wellington.
Peter Andreae Computer Science Victoria University of Wellington Copyright: Peter Andreae, Victoria University of Wellington Methods with Parameters COMP.
Peter Andreae Computer Science Victoria University of Wellington Copyright: Peter Andreae, Victoria University of Wellington Summary and Exam COMP 102.
1 Predefined Classes and Objects Chapter 3. 2 Objectives You will be able to:  Use predefined classes available in the Java System Library in your own.
Peter Andreae Computer Science Victoria University of Wellington Copyright: Peter Andreae, Victoria University of Wellington Programs with Choice Booleans,
Week 13 Introduction to Computer Science and Object-Oriented Programming COMP 111 George Basham.
Peter Andreae Computer Science Victoria University of Wellington Copyright: Peter Andreae, Victoria University of Wellington Creating and using Objects.
Class Everything in Java is in a class. The class has a constructor that creates the object. If you do not supply a constructor Java will create a default.
Peter Andreae Computer Science Victoria University of Wellington Copyright: Peter Andreae, Victoria University of Wellington Designing with While loops.
© Peter Andreae Java Programs COMP 102 # T1 Peter Andreae Computer Science Victoria University of Wellington.
Xiaoying Gao Computer Science Victoria University of Wellington Copyright: Xiaoying Gao, Peter Andreae, Victoria University of Wellington Methods with.
Big Java by Cay Horstmann Copyright © 2009 by John Wiley & Sons. All rights reserved. Chapter Three - Implementing Classes.
Peter Andreae Computer Science Victoria University of Wellington Copyright: Peter Andreae, Victoria University of Wellington Dealing with Files COMP 102.
David Streader Computer Science Victoria University of Wellington Copyright: David Streader, Victoria University of Wellington Java Programing Basics COMP.
Chapter 3 Implementing Classes
Fields, Constructors COMP 102 # T2
Yanal Alahmad Java Workshop Yanal Alahmad
Introduction to Computer Science and Object-Oriented Programming
Using java libraries CGS3416 spring 2019.
Presentation transcript:

Xiaoying Gao Computer Science Victoria University of Wellington Copyright: Xiaoying Gao, Peter Andreae, Victoria University of Wellington Creating Objects COMP 102 #8 2015T2

©Xiaoying Gao, Peter Andreae COMP102 8 :2 Admin A3 handed out Q1 Call a method in the same class Arguments match parameters Q2 Create objects A2 model solutions: do not distribute Awhina programme:

© Xiaoying Gao, Peter Andreae COMP102 7:3 Another Java Program Design a Java program to measure reaction time of users responding to true and false "facts". Ask the user about a fact: "Is it true that the BE is a 4 Year degree?" Measure the time they took Print out how much time. Need a class what name? Two methods, one calls the other what name? what parameters? what actions?

© Xiaoying Gao, Peter Andreae COMP102 7:4 Defining methods to return values public void askFourQuestions() { long time = this.measureTime("John Quay is the Prime Minister"); time = time + this.measureTime("11 x 13 = 143"); time = time + this.measureTime("Summer is warmer than Winter"); time = time + this.measureTime("Wellington has 1,000,000 people"); UI.printf("Average time = %d milliseconds\n", (time / 4)); } public long measureTime(String fact) { long startTime = System.currentTimeMillis(); String ans = UI.askString("Is it true that " + fact); long endTime = System.currentTimeMillis(); return (endTime - startTime) ; }

© Xiaoying Gao, Peter Andreae COMP102 7:5 What happens if we call the method: RTM-1. askFourQuestions(); public void askFourQuestions(){ long time = this.measureTime("John Quay is the Prime Minister"); time = time + this.measureTime("6 x 4 = 23"); time = time + this.measureTime("Summer is warmer than Winter"); time = time + this.measureTime("Population of Wtgn is 1,000,000"); Call a method this: RTM-1

© Xiaoying Gao, Peter Andreae COMP102 7:6 Returning values return value: public long measureTime(String fact){ long startTime = System.currentTimeMillis(); String ans = UI.askString("Is it true that " + fact); long endTime = System.currentTimeMillis(); return (endTime - startTime) ; } "John Quay is … " " this: RTM- 1

© Xiaoying Gao, Peter Andreae COMP102 7:7 What happens if we call the method: RTM-1. askQuestions(); public void askQuestions(){ long time = this.measureTime("John Quay is the Prime Minister"); time = time + this.measureTime("6 x 4 = 23"); time = time + this.measureTime("Summer is warmer than Winter"); time = time + this.measureTime("Population of Wtgn is 1,000,000"); Returning values. this: RTM-1

© Xiaoying Gao, Peter Andreae COMP102 8:8 Call a method objectName.methodName(arguments) Objects Predefined: UI, Math, System (they are in fact Class names) Default: this Create your own objects Arguments, data to use Check documentation (or your own code), to find out parameters Must match the type, order, number of parameters If the method returns a value Assign it to a variable of the same type (store it) Print it out (use it for output) Do nothing (throw it away)

© Xiaoying Gao, Peter Andreae COMP102 8:9 Components of a class Constants Belong to class, e.g. Math.PI, Color.red Static methods Belong to class, e.g. UI.println(); Data fields: save data for the object Constructor: a special method for creating an object Instance methods (non-static) actions of the object Must call from a real object

© Xiaoying Gao, Peter Andreae COMP102 8:10 String Objects import ecs100.*; public class StringExample{ public void twoStrings(){ String s1 = "You only live once"; String s2 = new String("Thank God it is Friday"); char x = s1.charAt(0); UI.println(x); String s = s1.substring(5,15); UI.println(s); s = s2.substring(5,15); UI.println(s); }

© Xiaoying Gao, Peter Andreae COMP102 8:11 Color Objects import ecs100.*; import java.awt.Color; public class colorExample { public void colorMethod(){ Color c1 = new Color(200, 200, 50); UI.setColor(c1); UI.fillOval(50, 50, 50, 50); Color c2 = c1.brighter(); UI.setColor(c2); UI.fillOval(100, 50, 50, 50); String s = c2.toString(); UI.println(s); }

©Xiaoying Gao, Peter Andreae COMP102 8 :12 Creating Objects: new Color c1 = new Color(100, 50, 200); UI.setColor( new Color(255, 190, 0) ); Calling a constructor: new( a keyword) Color( the type of object to construct ) ( … )(arguments: specifying information needed to construct the new object, Check the documentation to find out ) This is an expression: it returns the object can put in variable can use in an enclosing expression or method call new〈 Class name 〉〈 arguments 〉 ()

© Xiaoying Gao, Peter Andreae COMP102 8:13 Scanner Example import ecs100.*; import java.util.Scanner; public class ScannerExample{ public void testScanner(){ Scanner sc = new Scanner("COMP ECS VUW"); String course = sc.next(); int year = sc.nextInt(); UI.println(year); UI.println(course); UI.println(sc.nextLine()); }

© Xiaoying Gao, Peter Andreae COMP102 8:14 Call a method in the library Static ClassName.methodName(arguments) UI.println(“UI is in fact a class name”); Not Static (instance methods) Create an object new ClassName(arguments for constructor) Check documentation to find out ObjectName.methodName(arguments for the method)

© Xiaoying Gao, Peter Andreae COMP102 8:15 A class with fields and constructor import ecs100.*; public class BankAccount{ //simplified version of A3 exercise private String name; private double balance; public BankAccount(String n){ this.name = n; this.balance = 0.0; } public void deposit(double x){ this.balance = this.balance + x; } public void withdraw(double x){ this.balance = this.balance - x; } public void statement(){ UI.println(this.name + " $"+this.balance); } }

© Xiaoying Gao, Peter Andreae COMP102 8:16 Use the class to create new objects public class NewObjects{ public void createNewObj(){ BankAccount b1 = new BankAccount("Alice"); b1.deposit(100); BankAccount b2 = new BankAccount("Bob"); b2.deposit(200); b1.withdraw(50); b2.statement(); b1.statement(); }

© Xiaoying Gao, Peter Andreae COMP102 8:17 Why objects A new data type: group data together Group data and methods together Different objects co-exist The same class reused differently for different objects