10-aug-15 classes and objects in java. 2 classes and objects a java program consists of one or more...

15
Aug 26, 2 022 Classes and Objects in Java

Upload: homer-hubbard

Post on 23-Dec-2015

227 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 10-Aug-15 Classes and Objects in Java. 2 Classes and Objects A Java program consists of one or more classes A class is an abstract description of objects

Apr 19, 2023

Classes and Objects in Java

Page 2: 10-Aug-15 Classes and Objects in Java. 2 Classes and Objects A Java program consists of one or more classes A class is an abstract description of objects

2

Classes and Objects

A Java program consists of one or more classes A class is an abstract description of objects Here is an example class:

class Dog { ...description of a dog goes here... } Here are some objects of that class:

Page 3: 10-Aug-15 Classes and Objects in Java. 2 Classes and Objects A Java program consists of one or more classes A class is an abstract description of objects

3

More Objects Here is another example of a class:

class Window { ... } Here are some examples of Windows:

Page 4: 10-Aug-15 Classes and Objects in Java. 2 Classes and Objects A Java program consists of one or more classes A class is an abstract description of objects

4

Classes contain data definitions

Classes describe the data held by each of its objects Example:

class Dog { String name; int age; ...rest of the class...}

Data usually goes first in a class

A class may describe any number of objects Examples: "Fido", 3; "Rover", 5; "Spot", 3;

A class may describe a single object, or even no objects at all

Page 5: 10-Aug-15 Classes and Objects in Java. 2 Classes and Objects A Java program consists of one or more classes A class is an abstract description of objects

5

Classes contain methods

A class may contain methods that describe the behavior of objects Example:

class Dog { ... void bark() { System.out.println("Woof!"); }}

Methods usually go after the data

When we ask a particular Dog to bark, it says “Woof!” Only Dog objects can bark; the class Dog cannot bark

Page 6: 10-Aug-15 Classes and Objects in Java. 2 Classes and Objects A Java program consists of one or more classes A class is an abstract description of objects

6

Methods contain statements

A statement causes the object to do something (A better word would be “command”—but it isn’t)

Example: System.out.println("Woof!"); This causes the particular Dog to “print” (actually, display on

the screen) the characters Woof!

Page 7: 10-Aug-15 Classes and Objects in Java. 2 Classes and Objects A Java program consists of one or more classes A class is an abstract description of objects

7

Methods may contain temporary data

Data described in a class exists in all objects of that class Example: Every Dog has its own name and age

A method may contain local temporary data that exists only until the method finishes

Example: void wakeTheNeighbors( ) {

int i = 50; // i is a temporary variable while (i > 0) { bark( ); i = i – 1; }}

Page 8: 10-Aug-15 Classes and Objects in Java. 2 Classes and Objects A Java program consists of one or more classes A class is an abstract description of objects

8

Classes always contain constructors

A constructor is a piece of code that “constructs,” or creates, a new object of that class

If you don’t write a constructor, Java defines one for you (behind the scenes)

You can write your own constructors Example:

class Dog { String name; int age; Dog(String n, int age) { name = n; this.age = age; }}

(This part is the constructor)

Page 9: 10-Aug-15 Classes and Objects in Java. 2 Classes and Objects A Java program consists of one or more classes A class is an abstract description of objects

9

Diagram of program structure

A program consists of one or more classes

Typically, each class is in a separate .java file

Program

File

File

File

FileClas

sVariablesConstructors

Methods

Variables

Variables

Statements

Statements

Page 10: 10-Aug-15 Classes and Objects in Java. 2 Classes and Objects A Java program consists of one or more classes A class is an abstract description of objects

10

Summary

A program consists of one or more classes A class is a description of a kind of object

In most cases, it is the objects that do the actual work A class describes data, constructors, and methods

An object’s data is information about that object An object’s methods describe how the object behaves A constructor is used to create objects of the class

Methods (and constructors) may contain temporary data and statements (commands)

Page 11: 10-Aug-15 Classes and Objects in Java. 2 Classes and Objects A Java program consists of one or more classes A class is an abstract description of objects

11

Writing and running programs

When you write a program, you are writing classes and all the things that go into classes

Your program typically contains commands to create objects (that is, “calls” to constructors)

Analogy: A class is like a cookie cutter, objects are like cookies.

When you run a program, it creates objects, and those objects interact with one another and do whatever they do to cause something to happen

Analogy: Writing a program is like writing the rules to a game; running a program is like actually playing the game

You never know how well the rules are going to work until you try them out

Page 12: 10-Aug-15 Classes and Objects in Java. 2 Classes and Objects A Java program consists of one or more classes A class is an abstract description of objects

12

Getting started Question: Where do objects come from?

Answer: They are created by other objects. Question: Where does the first object come from?

Answer: Programs have a special main method, not part of any object, that is executed in order to get things started

public static void main(String[ ] args) { Dog fido = new Dog("Fido", 5); // creates a Dog}

The special keyword static says that the main method belongs to the class itself, not to objects of the class

Hence, the main method can be “called” before any objects are created Usually, the main method gets things started by creating one or more

objects and telling them what to do

Page 13: 10-Aug-15 Classes and Objects in Java. 2 Classes and Objects A Java program consists of one or more classes A class is an abstract description of objects

13

A bad program public class Dog {

String name; int age; Dog(String name, int age) { this.name = name; this.age = age; } public static void main(String[] args) { bark(); } void bark() { System.out.println("Woof!"); }}

non-static method bark() cannot be referenced from a static context

--------- new Dog("Fido", 5).bark();

Page 14: 10-Aug-15 Classes and Objects in Java. 2 Classes and Objects A Java program consists of one or more classes A class is an abstract description of objects

14

A complete program class Dog {

String name; int age;

Dog(String n, int age) { name = n; this.age = age; }

void bark() { System.out.println("Woof!"); }

void wakeTheNeighbors( ) { int i = 50; while (i > 0) { bark( ); i = i – 1; }}

public static void main(String[ ] args) { Dog fido = new Dog("Fido", 5); fido.wakeTheNeighbors();}

} // ends the class

Page 15: 10-Aug-15 Classes and Objects in Java. 2 Classes and Objects A Java program consists of one or more classes A class is an abstract description of objects

15

The End

“I invented the term ‘Object-Oriented’, and I can tell you I did not have C++ in mind.”

--Alan Kay, creator of Smalltalk.