3. Introduction to OOP
OOP is an approach to program organization and
development, which attempts to eliminate some of
the pitfalls of programming methods.
It is by incorporating the best of structured
programming features with several new concepts.
4. Characteristics of OOP
Data Abstraction and Encapsulation
Inheritance
Polymorphism
Dynamic Binding
Message Communication
5. Data Abstraction and Encapsulation
Encapsulation : The wrapping up of data and method
in to a single units. (Data can be accessed by the
methods which are inside the class)
Methods provide interface between objects data and
the program.
Data Hiding : The insulation of the data from the
direct access by the program.
Abstraction : Act of representing the essential
features with out including the background details.
6. Inheritance
Process by which object of one class acquires the
properties of another class.
Hierarchical classification.
Reusability
- adding additional features without modifying it.
-deriving new class (sub class) from existing one.
-new class will have combined features of both
the classes.
7. Polymorphism
Ability to take more than one form.
Ex: Operation of addition.
- for 2 numbers as operands, the
operation will generate a SUM.
- for 2 strings as operands, the
operation would produce a third
string by concatenation.
8. Dynamic Binding
Binding -Linking of procedure call to the code to be
executed in response to the call.
Dynamic Binding – code associated with a given
procedure call is not known until the time of the call
at runtime.
Associated with polymorphism & inheritance.
9. Message Communication.
The process of programming in OO Language involves 2
basic steps :
1. Creating Classes – define objects and their behaviour.
2. Creating Objects from class definitions.
3. Establishing communication among objects.
Ex: Employee.salary(name);
Employee – object
Salary – message
Name – parameter that contains information.
10. Benefits of OOP
• Inheritance – Eliminate code and extend the use of existing class.
• Data Hiding - Helps the programmer to build secure program.
• Objects – Easy to partition program.
• Object oriented system can be easily upgraded.
11. Overview of JAVA Language.
Introduction
Writing JAVA Program
Implementing JAVA Program
JVM
JAVA Tokens
Command Line Arguments.
12. JAVA is a general purpose OOP language.
We can develop two types of JAVA programs :
- Standalone applications
-Web Applets
Executing a standalone JAVA Program involves 2 steps:
1. Compiling source code into byte code using javac compiler.
2. Executing byte code program using java interpreter.
Applets are small java programs developed for Internet
applications
Introduction
13. Two ways of using JAVA
Java Source Code
Written in java
to carry out
certain task
Located on
server can be
downloaded and
executed
Applets Type Application Type
Java Enabled Web
browser
Java
Interpreter
Java
Compiler
Output Output
14. Two ways of using JAVA
Java Source Code
Applets Type Application Type
Java Enabled Web
browser
Java
Interpreter
Java
Compiler
Output Output
15. Two ways of using JAVA
Java Source Code
Applets Type Application Type
Java Enabled Web
browser
Java
Interpreter
Java
Compiler
Output Output
16. Two ways of using JAVA
Java Source Code
Applets Type Application Type
Java Enabled Web
browser
Java
Interpreter
Java
Compiler
Output Output
19. Explanation..
Class Declaration –
class P1 – declares class - object oriented construct.
Class is a keyword
P1 is a java identifier- specifies name of the class.
The main line –
public static void main(String[] args)
main – method
Starting point for the interpreter to begin execution of the
program.
A java application can have any no.of classes but only one of
them must include a main method to initiate the execution.
Applet does not use the main method.
20. public static void main(String[] args)
Public:
An access specifier that declares the main method as unprotected
and therefore making it accessible to all other classes.
Static:
Declares the method as one that belongs to entire class and not a
part of any objects of a class.
Since the interpreter uses main method before any objects are
created, it must be always be declared as static.
Void:
Type modifier states that the main does not return any value.
All parameters to a method are declared inside a pair of parenthesis.
String[] args:
Declares a parameter named args, which contain an array of objects
of the class type string.
21. Java Program Structure
Documentation Section
•Comprises a set of comment lines.
•/*..*/ known as documentation comment
Package Statement
• First statement allowed in java file.
• Declares Package name and inform compiler that
classes defined here belong to this package.
Import Statements
•Comes next to package statement but before any class declarations.
•Import student.test – instructs the interpreter to load the test class
contained the package student.So we can have access to classes that
are the part of other named packages.
22. Contd..
Interface Statements
•It is like class but includes a group of method
declarations which is optional section and is used only
when we wish to implement multiple inheritance.
•New concept in java.
Class Definitions
•A java program may contain multiple class definitions.
•Classes are essential and primary elements of java program.
•The number of classes used depends on the complexity of the
problem.
Main method class
•The main method creates objects of different classes
and establishes communication between them.
•On reaching the end of the main, program terminates
and control passes back to the OS.
23. Implementing a JAVA Program
Creating the program
Compiling the program
Running the program
24. Creating the program
The file is called sourcefile. It has extension .java.
If a program contain multiple classes, the file name must be the class name of the
class containing the main method.
25. Compiling the Program
To compile the program we must run the java
compiler javac, with the name of the source file on the
command line –
javac P1.java
If there is no error it automatically creates a file called
P1.class i.e., the byte code file containing the byte
codes of the program-
<classname>.class
26. Running a Program
Here we need to use the java interpreter to run the
standalone program.
At command prompt type
Java P1
Machine Neutral
Compiler converts source code files in to bytecode
files which are machine independent and therefore can be
run on any machine.
Java interpreter reads the byte code files and
translates them into machine code for specific machine on
which java program is running.
27. JAVA Virtual Machine
Java compiler produces an intermedia code known as
byte code for machine that does not exist.
This machine is called JVM and it exists only inside the
computer memory.
It is a simulated computer within the computer and
does all the major functions of a real computer.
28. Process of compilation
Java Program Java Compiler Virtual Machine
Source Code Byte Code
Byte Code Java Interpreter Machine Code
Virtual Machine Real Machine
29. Process of compilation
Java Program Java Compiler Virtual Machine
Source Code Byte Code
Byte Code Java Interpreter Machine Code
Virtual Machine Real Machine
30. Process of compilation
Java Program Java Compiler Virtual Machine
Source Code Byte Code
Byte Code Java Interpreter Machine Code
Virtual Machine Real Machine
31. Process of compilation
Java Program Java Compiler Virtual Machine
Source Code Byte Code
Byte Code Java Interpreter Machine Code
Virtual Machine Real Machine
32. Process of compilation
Java Program Java Compiler Virtual Machine
Source Code Byte Code
Byte Code Java Interpreter Machine Code
Virtual Machine Real Machine
33. Process of compilation
Java Program Java Compiler Virtual Machine
Source Code Byte Code
Byte Code Java Interpreter Machine Code
Virtual Machine Real Machine
34. JAVA Tokens
A java program is basically a collection of classes.
A class is defined by set of declaration statements and
methods containing executable statements.
Smallest individual units in a program is known as
tokens.
Java language includes 5 types of tokens :
Reserved Keywords
Identifiers
Literals
Operators
Separators
35. Programmer designed tokens.
They are used for – Naming
1. classes
2. Methods
3. Variables
4. Objects
5. Labels
6. Packages
7. Interfaces
Identifiers
36. Rules followed by Identifiers
1. They can have alphabets, digits, underscore and
dollar sign characters.
2. They must not begin with a digit.
3. Uppercase and lowercase letters are distinct.
4. They can be of any length.
37. Command Line Arguments
Parameters that are supplied to the application program at the time
of invoking it for execution.
Ex :
java P1 BASIC FORTRAN C++ Java
It consists four arguments. These are assigned to the array args as
follows:
args[0]->BASIC
args[1]->FORTRAN
args[2]->C++
args[3]->Java
40. Use of Math Functions
import java.lang.Math;
The purpose of this statement to instruct the
interpreter to load the Math class from the package
lang.
The examples discussed uses only one class that uses
the main method.
A real life application will generally requires multiple
classes.
42. Classes & Objects
Underlying structure of all java programs is classes.
Classes create objects and objects use methods to
communicate between them.
Classes provide convenient method for packing
together a group of logically related data items and
functions that work on them.
In java data items are called fields and the functions
are called methods.
43. Class classname [ extends superclassname]
{
[variable declaration;]
[method declaration;]
}
Defining a Class
45. Constructors.
Constructors enables an object to initialize itself when
it is created.
Constructors are methods of class having same name
as that of class name and used to initialize instance
variables of the class.
They do not specify any return type not even void due
to they return instance of the class itself.
47. Creating methods that have same name but with different parameter lists and different definitions.
Ex:
class Rectangl
{
int length, width;
//CONSTRUCTOR
Rooml(int x, int y)
{
length= x;
width = y;
}
Rooml(int x, int y)
{
length=width= x;
}
int recArea()
{
int area = length*width;
return(area);
}
Method Overloading