Introduction to Programming with Java, for Beginners Intro OOP with Java Java Program Structure.
-
date post
19-Dec-2015 -
Category
Documents
-
view
259 -
download
1
Transcript of Introduction to Programming with Java, for Beginners Intro OOP with Java Java Program Structure.
![Page 1: Introduction to Programming with Java, for Beginners Intro OOP with Java Java Program Structure.](https://reader035.fdocuments.net/reader035/viewer/2022062221/56649d385503460f94a122e8/html5/thumbnails/1.jpg)
Introduction to Programmingwith Java, for Beginners
Intro OOP with JavaJava Program Structure
![Page 2: Introduction to Programming with Java, for Beginners Intro OOP with Java Java Program Structure.](https://reader035.fdocuments.net/reader035/viewer/2022062221/56649d385503460f94a122e8/html5/thumbnails/2.jpg)
2
Object-Oriented Programming Model
Design problems/programs such that they correspond to real world entities
Entity a.k.a Object is something that has real existence Examples: person, dog, car, student, bank account
Objects: Model the parts of a problem. They have: Data/State: information about that object Behaviors: describe how the object behaves
Classes Describes common features to all objects Templates for creating objects
![Page 3: Introduction to Programming with Java, for Beginners Intro OOP with Java Java Program Structure.](https://reader035.fdocuments.net/reader035/viewer/2022062221/56649d385503460f94a122e8/html5/thumbnails/3.jpg)
3
Example 1: Student Object
• Data: name, address, major, courseList
• Behavior: change major, add/drop a course
![Page 4: Introduction to Programming with Java, for Beginners Intro OOP with Java Java Program Structure.](https://reader035.fdocuments.net/reader035/viewer/2022062221/56649d385503460f94a122e8/html5/thumbnails/4.jpg)
4
Example 3: Dog Objects
![Page 5: Introduction to Programming with Java, for Beginners Intro OOP with Java Java Program Structure.](https://reader035.fdocuments.net/reader035/viewer/2022062221/56649d385503460f94a122e8/html5/thumbnails/5.jpg)
5
OOP in Java A Java program is a collection of objects
A class is an abstract description of objects
Classes contain Data Fields that hold the data for each object
Data is stored in instance variables
Methods that describe the actions/behaviors the object can perform
Constructor(s) that tell how to create a new object of this class
![Page 6: Introduction to Programming with Java, for Beginners Intro OOP with Java Java Program Structure.](https://reader035.fdocuments.net/reader035/viewer/2022062221/56649d385503460f94a122e8/html5/thumbnails/6.jpg)
6
Class Structure
class Classname { //Data Fields
…
//Constructor
..
//Methods
..
}
Classname and Filename should be same
i.e. Classname.java
Start and end of class declaration is indicated by curly braces i.e. { }
Compiler complains if this is missing
![Page 7: Introduction to Programming with Java, for Beginners Intro OOP with Java Java Program Structure.](https://reader035.fdocuments.net/reader035/viewer/2022062221/56649d385503460f94a122e8/html5/thumbnails/7.jpg)
7
Classes contain Data Definitions
Classes describe the data held by each of its objects Also known as instance variables
class Dog {
String name; int age;
...rest of the class...}
Data usually goes first in a class
![Page 8: Introduction to Programming with Java, for Beginners Intro OOP with Java Java Program Structure.](https://reader035.fdocuments.net/reader035/viewer/2022062221/56649d385503460f94a122e8/html5/thumbnails/8.jpg)
8
Classes contain Data Definitions (contd..)
Data can also describe the relationship of the object to other objects
Example: a checkingAccount might have An accountNumber (used as an ID number) A balance (the internal state of the account) An owner (some object representing a person)
![Page 9: Introduction to Programming with Java, for Beginners Intro OOP with Java Java Program Structure.](https://reader035.fdocuments.net/reader035/viewer/2022062221/56649d385503460f94a122e8/html5/thumbnails/9.jpg)
9
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) i.e. default constructor
Usually a constructor is written to initialize an object’s state i.e. data fields Default constructor initialize object’s state default value
for that type. E.g. for type int, the default value is zero
![Page 10: Introduction to Programming with Java, for Beginners Intro OOP with Java Java Program Structure.](https://reader035.fdocuments.net/reader035/viewer/2022062221/56649d385503460f94a122e8/html5/thumbnails/10.jpg)
10
Constructor: Initialize Data Example
class Dog { String name; int age;
Dog(String Name, int Age) { name = Name; age = Age; } …
//rest of the class}
Important: Constructor name is same as ClassName
(This part is the constructor)
![Page 11: Introduction to Programming with Java, for Beginners Intro OOP with Java Java Program Structure.](https://reader035.fdocuments.net/reader035/viewer/2022062221/56649d385503460f94a122e8/html5/thumbnails/11.jpg)
11
Creating Objects Declare a variable of appropriate type to hold
the object E.g. For Dog object we a need a variable of type Dog
Use the constructor of Dog to create a Dog instance and store it in the variable Known as invoking the constructor
Dog d1;d1 = new Dog();
make a new object
Dog d2;d2 = new Dog(“Fido”, 5);
make a new object
![Page 12: Introduction to Programming with Java, for Beginners Intro OOP with Java Java Program Structure.](https://reader035.fdocuments.net/reader035/viewer/2022062221/56649d385503460f94a122e8/html5/thumbnails/12.jpg)
12
Classes contain Methods A class may contain methods that describe the
behavior of objects
Methods contain one or more statements that describe a particular behavior A block of code, which when used performs certain
instructions Different from control block structures like if, while
Can receive inputsCan return an output
![Page 13: Introduction to Programming with Java, for Beginners Intro OOP with Java Java Program Structure.](https://reader035.fdocuments.net/reader035/viewer/2022062221/56649d385503460f94a122e8/html5/thumbnails/13.jpg)
13
Examples of Object Behavior Query Methods: ask an object about its state
What’s your name? Age? Favorite band?
Command Methods: change an object’s state Withdraw $100 from my bank account my
bank balance changes
![Page 14: Introduction to Programming with Java, for Beginners Intro OOP with Java Java Program Structure.](https://reader035.fdocuments.net/reader035/viewer/2022062221/56649d385503460f94a122e8/html5/thumbnails/14.jpg)
14
Example of Method
class Dog { ... void bark() { //instructions for barking
System.out.println(“Woof”); }}
Methods usually go after the data & constructor
Statement
![Page 15: Introduction to Programming with Java, for Beginners Intro OOP with Java Java Program Structure.](https://reader035.fdocuments.net/reader035/viewer/2022062221/56649d385503460f94a122e8/html5/thumbnails/15.jpg)
15
Making object do something
To make a dog object bark, in Java we write d1.bark(); d1 is dog object and we ask a this
particular dog to bark, it says “Woof” Terminology:
Sending message to dog objectCommanding or Asking the dog to something
![Page 16: Introduction to Programming with Java, for Beginners Intro OOP with Java Java Program Structure.](https://reader035.fdocuments.net/reader035/viewer/2022062221/56649d385503460f94a122e8/html5/thumbnails/16.jpg)
16
General Method Declaration return_type methodName(0+ parameters){..}
Method Input receive 0 or more inputs. E.g. bark() has no inputs Inputs may be passed so that method can use these
values for some purpose A method specifies its expected inputs via a list of “formal
parameters” (type1 name1,type2 name2, …)
Input
void bark(String barkSound){ System.out.println(barkSound); }
![Page 17: Introduction to Programming with Java, for Beginners Intro OOP with Java Java Program Structure.](https://reader035.fdocuments.net/reader035/viewer/2022062221/56649d385503460f94a122e8/html5/thumbnails/17.jpg)
17
General Method Declaration (contd..)
return_type methodName(0+ parameters){..}
Method Output A method may output nothing or one thing If it outputs nothing, then its return_type is
void
void setDogAge(int dogAge){
age = dogAge;
}
Output
![Page 18: Introduction to Programming with Java, for Beginners Intro OOP with Java Java Program Structure.](https://reader035.fdocuments.net/reader035/viewer/2022062221/56649d385503460f94a122e8/html5/thumbnails/18.jpg)
18
General Method Declaration (contd..)
Method Output If it outputs one thing: Its return_type is non-
void i.e. must be of certain type
It then must have a return statement that returns a value
The value returned must match return type
int getDogAge(){ return age;}
age is of type “int” and hence return type is int
![Page 19: Introduction to Programming with Java, for Beginners Intro OOP with Java Java Program Structure.](https://reader035.fdocuments.net/reader035/viewer/2022062221/56649d385503460f94a122e8/html5/thumbnails/19.jpg)
19
Calling/Invoking a Method on an Object
Calling/Invoking a method on an Object Is a programming terminology for asking or
making an object to perform some behavior
In general objectName.methodName(0 + parameters) In a method call, the number, order, and type of
arguments must match the corresponding parameters
Examples: d1.bark(); d1.bark(“Woof grrr”);
![Page 20: Introduction to Programming with Java, for Beginners Intro OOP with Java Java Program Structure.](https://reader035.fdocuments.net/reader035/viewer/2022062221/56649d385503460f94a122e8/html5/thumbnails/20.jpg)
20
Methods can contain other methods
Example: class Dog {
... void bark() {
System.out.println("Woof"); }
}
E.g. System.out.println(String s) String s is the input to the method Other programmer's wrote printing program and called it
class System
![Page 21: Introduction to Programming with Java, for Beginners Intro OOP with Java Java Program Structure.](https://reader035.fdocuments.net/reader035/viewer/2022062221/56649d385503460f94a122e8/html5/thumbnails/21.jpg)
21
Reusing already written methods Java is famous for reusing already written
programs Benefits: Do not need to reinvent the wheel
Java provides a huge library of useful programs that can be reused Comes along with the JDK tool kit Some libraries are part of the language and can be
simply used Some libraries (utilities) need to specified with an
import statement More on this later lectures
![Page 22: Introduction to Programming with Java, for Beginners Intro OOP with Java Java Program Structure.](https://reader035.fdocuments.net/reader035/viewer/2022062221/56649d385503460f94a122e8/html5/thumbnails/22.jpg)
22
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 E.g:
void wakeTheNeighbors( ) { int i = 50; // i is a temporary variable while (i > 0) { bark( ); //using its own class method i = i – 1; }
}
![Page 23: Introduction to Programming with Java, for Beginners Intro OOP with Java Java Program Structure.](https://reader035.fdocuments.net/reader035/viewer/2022062221/56649d385503460f94a122e8/html5/thumbnails/23.jpg)
23
Temporary /Local vs. Instance Variables
Temporary/local variables are known From the point of declaration until the end curly brace of
the block in which they are declared
In contrast, instance variables are Declared outside of any method Known to all methods in the class in which they are
declared
![Page 24: Introduction to Programming with Java, for Beginners Intro OOP with Java Java Program Structure.](https://reader035.fdocuments.net/reader035/viewer/2022062221/56649d385503460f94a122e8/html5/thumbnails/24.jpg)
24
Class Methods in General Methods consist of statements (or
instructions) causes the object to do something Combination of literals and, operators Control Structures - e.g. while, if Temporary variables Methods from other classes Methods from its own class
![Page 25: Introduction to Programming with Java, for Beginners Intro OOP with Java Java Program Structure.](https://reader035.fdocuments.net/reader035/viewer/2022062221/56649d385503460f94a122e8/html5/thumbnails/25.jpg)
25
Asking Object about its data directly
It may possible to ask a object about its data without querying the object i.e. calling the method ObjectName.DataField;
>Dog d1 = new Dog(“Fido”,5);>String dogName = d1.name;>System.out.println(dogName); Fido
But this depends on accessibility of the data More on this in slide 28
![Page 26: Introduction to Programming with Java, for Beginners Intro OOP with Java Java Program Structure.](https://reader035.fdocuments.net/reader035/viewer/2022062221/56649d385503460f94a122e8/html5/thumbnails/26.jpg)
26
Putting it all together When you want to create standalone Java
application program one of the classes should contain the main method
Method main is a special method, not part of any object, that is executed in order to get things started such as: Creating Objects Ask objects to do something or interact with another
object
![Page 27: Introduction to Programming with Java, for Beginners Intro OOP with Java Java Program Structure.](https://reader035.fdocuments.net/reader035/viewer/2022062221/56649d385503460f94a122e8/html5/thumbnails/27.jpg)
27
Main Method
public static void main(String[ ] args) { Dog fido = new Dog("Fido", 5); // creates a Dog
fido.bark(); fido.setAge(6); }
Method main is of return type void Will explain the keyword public (on slide 28) Learn about static and String [] args in later
lectures
![Page 28: Introduction to Programming with Java, for Beginners Intro OOP with Java Java Program Structure.](https://reader035.fdocuments.net/reader035/viewer/2022062221/56649d385503460f94a122e8/html5/thumbnails/28.jpg)
28
OOP Recap Class: a template for creating objects An object is an instance of a class Example:
One Dog class Multiple Dog objects Lord of the Rings Simulation
One Human class, multiple Human objectsOne Elf class, multiple Elf objectsOne Orc class, multiple Orc objects
![Page 29: Introduction to Programming with Java, for Beginners Intro OOP with Java Java Program Structure.](https://reader035.fdocuments.net/reader035/viewer/2022062221/56649d385503460f94a122e8/html5/thumbnails/29.jpg)
29
A Counter class example
![Page 30: Introduction to Programming with Java, for Beginners Intro OOP with Java Java Program Structure.](https://reader035.fdocuments.net/reader035/viewer/2022062221/56649d385503460f94a122e8/html5/thumbnails/30.jpg)
30
Complete Counter class
public class Counter { private int count;
public Counter () { count = 0; }
public int currentCount () { return count; }
public void incrementCount () { count = count + 1; }
public void reset () { count = 0; }}
Counter class declaration
constructor
methods
Data field (instance variable)
query
command
?
![Page 31: Introduction to Programming with Java, for Beginners Intro OOP with Java Java Program Structure.](https://reader035.fdocuments.net/reader035/viewer/2022062221/56649d385503460f94a122e8/html5/thumbnails/31.jpg)
31
Counter Object Behaviors Counter c= new Counter();
If you want to increment count value of object c c.incrementCount();
If you want see the count value of object c c.currentCount();
If you want to reset count value of object c c.reset();
![Page 32: Introduction to Programming with Java, for Beginners Intro OOP with Java Java Program Structure.](https://reader035.fdocuments.net/reader035/viewer/2022062221/56649d385503460f94a122e8/html5/thumbnails/32.jpg)
32
Accessibility Level Data fields/instance variables of class and class
itself can also have accessibility_level
Examples: public void incrementCount(){ .. }, private count ;
public: makes the method/data field accessible from outside the class
Private:not accessible outside the class
In default case: accessible if within same directory
Accessibility_level appears before the return type of method the type of variable
![Page 33: Introduction to Programming with Java, for Beginners Intro OOP with Java Java Program Structure.](https://reader035.fdocuments.net/reader035/viewer/2022062221/56649d385503460f94a122e8/html5/thumbnails/33.jpg)
33
Complete Counter Programpublic class Counter { private int count;
public Counter () { count = 0;
}
public int getCount () { return count; }
public void incrementCount () { count = count + 1; }
public void reset () { count = 0;
}
public static void main(String[ ] args) { Counter c = new Counter(); int whatIsCount = 0;
c.incrementCount(); c.incrementCount();
whatIsCount = c.currentCount();
System.out.println(whatIsCount); c.reset();
whatIsCount = c.currentCount(); System.out.println(whatIsCount);
}
} // ends the class
![Page 34: Introduction to Programming with Java, for Beginners Intro OOP with Java Java Program Structure.](https://reader035.fdocuments.net/reader035/viewer/2022062221/56649d385503460f94a122e8/html5/thumbnails/34.jpg)
34
General Java Program
A program consists of one or more classes
Typically, each class is in a separate java file
File
File
File
FileClas
sVariablesConstructors
Methods
Variables
Variables
Statements
Statements
![Page 35: Introduction to Programming with Java, for Beginners Intro OOP with Java Java Program Structure.](https://reader035.fdocuments.net/reader035/viewer/2022062221/56649d385503460f94a122e8/html5/thumbnails/35.jpg)
35
Writing and Running Programs in OOP
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 and make them do something
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
![Page 36: Introduction to Programming with Java, for Beginners Intro OOP with Java Java Program Structure.](https://reader035.fdocuments.net/reader035/viewer/2022062221/56649d385503460f94a122e8/html5/thumbnails/36.jpg)
36
Advantages of OOP OOP is conducive to good design and
efficient redesign
Most changes affect only a few classes