INTRODUCTION TO OOP USING
JAVA
Tanjina Helaly
WHAT IS PROGRAMMING
Instruction to computer/device to perform task.
Computer understands only 0 and 1. Nothing
else.
So, we need to send the instruction in the form of
0, 1
Do you write program with just 0 and 1?
CLASSIFICATION/EVOLUTION OF
PROGRAMMING
Machine level programming
Send instruction in binary format
Assembly Programming
send code instead of binary code.
Need assembler to convert to binary
High level programming
Code is close to English Language
Need Compiler to convert to binary
3 types
Non structured
Structured/Procedural
Object Oriented Programming
CLASSIFICATION/EVOLUTION OF
PROGRAMMING
Non structured
Generate spaghetti code
Sequential and has GoTo
COBOL, BASIC, FORTRAN
Structured/Procedural
Use Subroutine/Function
improving the clarity, quality, and development time
C, PASCAL
Object Oriented Programming
Object-oriented programming (OOP) is a programming
language model organized around objects rather than
"actions" and data rather than logic.
Historically, a program has been viewed as a logical
procedure that takes input data, processes it, and produces
output data.
Java, C++, C#
OUR GOAL
LEARN OBJECT ORIENTED PROGRAMMING
USING JAVA
PROGRAMMING LANGUAGE
A programming language is a formal constructed
language designed to communicate instructions
to a machine, particularly a computer.
JAVA’S LINEAGE
Java is related to C++, which is a direct
descendent of C.
Much of the character of Java is inherited from these
two languages.
From C, Java derives its syntax.
Many of Java’s object-oriented features were
influenced by C++.
JAVA - CHARACTERISTICS
Uses C/C++ basic syntax and basic data types -int, char,
float, double, long, short, byte etc.
Uses standard C/C++ control structures
“Pure” OO language
No stand alone functions -All code is part of a class
No explicit pointers - uses references
Uses garbage collection
Java is strongly typed
Java is normally compiled to a bytecode.
Java bytecode is a machine language for an abstract
machine
Makes Java secure and Portable
Each platform (or browser) that runs Java has a Java
Virtual Machine (JVM) . The JVM executes Java bytecodes
JAVA – THE PLATFORM
Java has a large API (application programming
interface) covering a wide range of areas The
following list of Java APIs and applications from
Sun show the range of applications of Java .
For reference http://java.sun.com/products/index.html
Java Foundation Classes (JFC) – GUI
JDBC Database Access
Java Web Server
EmbeddedJava - Java on embedded devices
WHY JAVA
Platform Independent - Code once run anywhere
Byte code
Easy to learn
Secure
Byte code & VM
Free
JAVA IDE
Using JDK you can compile and run java
program from command line.
c:> javac HelloWorld. Java
compiling here and
it will produce HelloWorld.class i.e. bytecode.
c:>java HelloWorld
It runs java byte code on native machine
JAVA IDE
Creating, Compiling, Debugging and Execution
for these four steps JDK is not user friendly. IDE
is provided for that. A list of IDEs are:
Eclipse
Netbeans.
IntelliJ IDEA
AN EXAMPLE HELLOWORLD
public class HelloWorldExample
{
public static void main( String args[] )
{
System.out.println("Hello World");
}
}
JAVA SOURCE CODE NAMING
CONVENTIONS
All java source file should end with .java
Each .java file can contain only one public
class
The name of the file should be the name of
the public class plus ".java"
Do not use abbreviations in the name of the class
If the class name contains multiple words then
capitalize the first letter of each word ex.
HelloWorld.java
NAMING CONVENTION
Class Naming
Uses Capitalized word(s) i.e. Title case
Examples:- HelloWorld, MyList, StudentMark
Variable and method names
starts with a lowercase letter and after that use Title
case
Examples:- variableAndMethodNames, aFloat,
studentName
Names of constants
All are capital letters and separated by underscore.
Example: NAMES_OF_CONSTANTS
JAVA IDENTIFIERS RULES
Identifier is a name given to a variable, class, or
method.
Java identifier
Can contain letter, number, underscore (_), or dollar
sign ($).
Cannot start with number.
Identifiers are case sensitive
have no maximum length.
cannot be a keyword, but it can contain a keyword as
part of its name.