Download presentation
Presentation is loading. Please wait.
Published byNoah Morgan Modified over 9 years ago
1
Introduction to Java and Object-Oriented Programming AJSS Computer Camp Department of Information Systems and Computer Science Ateneo de Manila University
2
Outline Morning Session Introduction to Java, OOP, and the BlueJ environment Creating classes for the Robots project Afternoon Session Graphics and Graphical User Interfaces in Java Demo: BombsAway application Creating your own game using the a game engine Demo: developing mobile apps within the Android platform Copyright 2008, by the authors of these slides, and Ateneo de Manila University. All rights reserved. L1: Intro Java Slide 2
3
Copyright 2008, by the authors of these slides, and Ateneo de Manila University. All rights reserved. L1: Intro Java Slide 3 The Java Programming Language Java: an object-oriented programming language that is simple safe platform independent designed for the internet Many universities use Java as the introductory programming language for beginning programmers Ateneo adopted Java for CS 21a in 1997
4
Copyright 2008, by the authors of these slides, and Ateneo de Manila University. All rights reserved. L1: Intro Java Slide 4 Two types of Java programs: Applications general-purpose programs standalone executed through the operating system Applets programs meant for the WWW embedded in a Web page normally executed through a browser
5
Copyright 2008, by the authors of these slides, and Ateneo de Manila University. All rights reserved. L1: Intro Java Slide 5 Simple Java Application File: Hello.java // Hello World application public class Hello { public static void main( String args[] ) { System.out.println( “Hello world” ); }
6
Copyright 2008, by the authors of these slides, and Ateneo de Manila University. All rights reserved. L1: Intro Java Slide 6 The Programming Process Create/Edit Program Compile Program Execute Program Compile Errors?Run-Time Errors? Source Program Object Program
7
Copyright 2008, by the authors of these slides, and Ateneo de Manila University. All rights reserved. L1: Intro Java Slide 7 Creation, Compilation, and Execution Create Java program C:\> edit Hello.java Hello.java file is created Compile using javac (compiler) C:\> javac Hello.java Hello.class file is produced Execute using java (interpreter) C:\>java Hello requires a Hello.class file
8
Copyright 2008, by the authors of these slides, and Ateneo de Manila University. All rights reserved. L1: Intro Java Slide 8 Simple Java Applet File: HelloAgain.java import javax.swing.*; import java.awt.*; public class HelloAgain extends JApplet { public void paint( Graphics g ) { g.drawString( “Hello”, 50, 50 ); }
9
Copyright 2008, by the authors of these slides, and Ateneo de Manila University. All rights reserved. L1: Intro Java Slide 9 Executing Applets After compiling the java program: Embed an “applet tag” in an.html document that references the.class file Open the.html document using a browser or the appletviewer
10
Copyright 2008, by the authors of these slides, and Ateneo de Manila University. All rights reserved. L1: Intro Java Slide 10 Sample.html Document File: HA.html My Sample Applet
11
Copyright 2008, by the authors of these slides, and Ateneo de Manila University. All rights reserved. L1: Intro Java Slide 11 Java Program Structure Java Program (optional) import declarations class declaration Class class name should match its file name may extend an existing class (such as JApplet) contains method/function declarations
12
Copyright 2008, by the authors of these slides, and Ateneo de Manila University. All rights reserved L3: Intro to OOP Slide 12 Object-Oriented Programming The traditional definition of a program is: a sequence of instructions to be executed on a computer In the Object-Oriented Programming (OOP) paradigm, a program that executes is a collection of interacting objects In this paradigm, the programs we specify what are in these objects and how these objects behave
13
Copyright 2008, by the authors of these slides, and Ateneo de Manila University. All rights reserved L3: Intro to OOP Slide 13 So … What is an Object? A “thing” that has type, identity, state, and behavior type: belongs to a “class” of similar objects identity: is a distinct “instance” of a class of objects state / attributes: has a set of properties (aka fields) each field can have different values behavior: has “methods” (things that the object knows how to do) we say we “call” a method on the object
14
Copyright 2008, by the authors of these slides, and Ateneo de Manila University. All rights reserved L3: Intro to OOP Slide 14 Examples of Objects state/attributes on (true or false) behavior switch on switch off check if on state/attributes # of liters of gas in tank total # of km run so far efficiency (km/liter) behavior drive load gas change efficiency check gas check odometer reading LightBulb Car BankAccount state/attributes balance behavior deposit withdraw check balance Note each object is an “instance” of that “type” of object each instance has its own values for its attributes e.g., different accounts can have different balances
15
Copyright 2008, by the authors of these slides, and Ateneo de Manila University. All rights reserved L3: Intro to OOP Slide 15 BankAccount example (A Preview) BankAccount state/attributes balance behavior get balance deposit withdraw BankAccount double balance double getBalance() void deposit( double amount ) … and more public class BankAccount { private double balance = 0; public double getBalance() { return balance; } public void deposit( double amount ) { balance = balance + amount; } … } BankAccount.java
16
Copyright 2008, by the authors of these slides, and Ateneo de Manila University. All rights reserved L3: Intro to OOP Slide 16 Class Definition in Java BankAccount type (or class) state/attributes (fields) behavior (methods) may have input parameters in parenthesis may have output (or “return”) type has “body” with code public class BankAccount { private double balance = 0; public double getBalance() { return balance; } public void deposit( double amount ) { balance = balance + amount; } … } BankAccount.java “double” means a floating Point number like1234.25
17
Copyright 2008, by the authors of these slides, and Ateneo de Manila University. All rights reserved L3: Intro to OOP Slide 17 A Class with a Constructor public class BankAccount { private double balance; public BankAccount() { balance = 0; } public double getBalance() { return balance; } public void deposit( double amount ) { balance = balance + amount; } … } BankAccount.java Constructor: special method that handles initialization For now, view constructors as an alternative to initializing fields as they are declared Later: more advanced uses for constructors
18
Copyright 2008, by the authors of these slides, and Ateneo de Manila University. All rights reserved L3: Intro to OOP Slide 18 A Class and Its Instances A single class can have multiple instances Each instance is a separate object Each instance can have different values for its fields The definition of methods is the same for all instances of the same type Thus, there is only one class definition Written as the.java file for that class
19
Copyright 2008, by the authors of these slides, and Ateneo de Manila University. All rights reserved L3: Intro to OOP Slide 19 Lab Exercise: Try it in BlueJ Open the project (ObjectExamples) that contains a BankAccount class (BankAccount.java) Create BankAccount objects (instances of the class) Right-click on the class Carry out operations on the BankAccount objects (invoke the deposit and getBalance methods) Right-click on the instances
20
Copyright 2008, by the authors of these slides, and Ateneo de Manila University. All rights reserved L3: Intro to OOP Slide 20 Lab Exercise, continued Instantiate and use a BankAccount object within in a Java application How? Create a UseObjects class (UseObjects.java) “New Class” on left pane of BlueJ environment Inside the UseObjects class type the following code…
21
Copyright 2008, by the authors of these slides, and Ateneo de Manila University. All rights reserved L3: Intro to OOP Slide 21 Lab Exercise, continued public static void main( String args[] ) { BankAccount b = new BankAccount(); b.deposit( 1000.00 ); b.withdraw( 100.00 ); System.out.println( b.getBalance() ); b.deposit( 2000.00 ); System.out.println( b.getBalance() ); } Compile and execute UseObjects.java The values 900.0 and 2900.0 should be printed out
22
Lab Exercise, continued Close the current BlueJ project Create a Robots project Create a Robot class moving along a two dimensional maze Attributes: x and y coordinates (int type) Methods: moveLeft, moveRight, moveUp, moveDown Test the class by creating instances within BlueJ Test the class by creating another class that uses the Robot class—call it RobotTest Copyright 2008, by the authors of these slides, and Ateneo de Manila University. All rights reserved. L1: Intro Java Slide 22
23
Copyright 2008, by the authors of these slides, and Ateneo de Manila University. All rights reserved L3: Intro to OOP Slide 23 Summary In Java, we write programs for objects These programs are called classes A class consists of fields and methods to specify the state and behavior for its objects Once a class has been defined, objects of that class can be created (instantiated) Methods are invoked on an object, and may cause the state of the object to change
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.