Presentation is loading. Please wait.

Presentation is loading. Please wait.

Object-Oriented Programming with Java

Similar presentations


Presentation on theme: "Object-Oriented Programming with Java"— Presentation transcript:

1 Object-Oriented Programming with Java
Object-Orientation and Java Lecture 1

2 Object-Orientation & Java
Contents Getting Started A Little Bit of Syntax Differences between C and Java Object-Oriented Programming in Java

3 Getting Started Goto: Download the Java Software Development Kit (SDK)
Download the Java Software Development Kit (SDK) Its free! Download the Documentation Also free! ( Buy JAVA In a Nutshell, by David Flanagan, Publ. O’Rielly It’ll cost you, sorry!

4 File extensions in Java
Source .class javac (compiler) Byte code JVM Java Virtual Machine Any Hardware (that supports the JVM)

5 What you get in the JDK appletviewer For running Applets javac
Compiles .java  .class java Interprets a Java Class classes.zip The system provided classes src.zip Complete source for standard classes javadoc Generates Java HTML documents

6 Object-Orientation & Java
Contents Getting Started A Little Bit of Syntax Differences between C and Java Object-Oriented Programming in Java

7 { Defining a Class Account public class Account { public int number;
public double balance; public void credit(double x) { // do some sums } public void debit(double y) { // do checking then sums { members number balance fields credit_account debit_account methods

8 “Circle” Example public class Circle { } Circle radius circumference
area public static final double PI = ; public double radius; public double circumference() { return 2 * PI * radius; } public double area() { return PI * radius * radius;

9 The “Circle” class public class Circle { // A class field
public static final double PI= ; // A useful constant // A class method: just compute a value based on the arguments public static double radiansToDegrees(double rads) { return rads * 180 / PI; } // An instance field public double r; // The radius of the circle // Two instance methods: they operate on the instance fields // of an object public double area() { // Compute the area of the circle return PI * r * r; public double circumference() { // Compute the circumference return 2 * PI * r;

10 The “main” method public class Circle {
public double r; // The radius of the circle public double area() { // Compute the area of the circle return PI * r * r; } public double circumference() { // Compute the circumference return 2 * PI * r; public static void main(String[] args) { int input = Integer.parseInt(args[0]); Circle c = new Circle(); c.r = input; double result = c.circumference(); System.out.println(result); }

11 Put “main” in a new class?
public class MakeCircle { public static void main(String[] args) { int input = Integer.parseInt(args[0]); Circle c = new Circle(); c.r = input; double circum = c.circumference(); System.out.println(circum); double a = c.area(); System.out.println(a); }

12 An Association Circle radius circumference area MakeCircle main
creates instances of

13 File extensions in Java
Source .class javac (compiler) Byte code JVM Java Virtual Machine Any Hardware (that supports the JVM)

14 The Circle example C:\Java contains C:\>cd Java Circle.java and
MakeCircle.java C:\>cd Java C:\Java>javac Circle.java C:\Java>javac MakeCircle.java C:\Java now also contains Circle.class and MakeCircle.class C:\Java>java MakeCircle 4 C:\Java>java MakeCircle 5

15 Object-Orientation & Java
Contents Getting Started A Little Bit of Syntax Differences between C and Java Object-Oriented Programming in Java

16 Differences No Preprocessor No Global Variables
No analogues of #define, #include, #ifdef Constants are replaced by static final fields No Global Variables Avoids possibility of namespace collisions We will see later how you can make a constant or variable globally accessible

17 Java vs. C Well-defined primitive type sizes No pointers
Removes this as a platform dependency No pointers Although Java Classes and Arrays are reference types, these references are “opaque”. No “address of” or “dereference” operators This is not a handicap and eliminates an important source of bugs

18 Java vs. C Garbage Collection No goto statement
Objects are “tidied away” as soon as there are no further references to them So, no need to explicitly manage memory Eliminates memory leaks No goto statement Adds exception handling and labelled break and continue statements

19 Java vs. C Variable declarations anywhere Forward references
Java allows local variable definitions to be made anywhere in a method or block Good practice to group them, though Forward references Methods can be invoked before they are defined (we’ll see why it is important to be able to do this)

20 Java vs. C Method overloading No struct and union types
Multiple methods can be defined with the same name, so long as they have different parameter lists No struct and union types No enumerated types No bitfields No typedef No method pointers No variable-length argument lists

21 Object-Orientation & Java
Contents Getting Started A Little Bit of Syntax Differences between C and Java Object-Oriented Programming in Java


Download ppt "Object-Oriented Programming with Java"

Similar presentations


Ads by Google