SlideShare a Scribd company logo
Copyright 2012-15 © Sunmitra Education Technologies Limited, India
Programming Fundamentals with
OOPs concept
(Java Examples Based)
"Fun of programming doubles if the
fundamentals are crystal clear."
OUTLINE
Programming Concepts
Programming Logic
Program Running
Components of a Program
Programming Paradigms
Structured Programming
Object Oriented Programming
Inheritance
Interfaces
Polymorphism Interface
Encapsulation and Abstraction
Bibliography
Programming Concepts - 1
 Computer Programming: It is a
predefined way of telling the
computer that what task is to be
performed. It is the implementation
part of the activity of "SOFTWARE
DEVELOPMENT"
 Computer Program: It is a set of
sequence of instructions, that a
computer will understand and try
to execute. One or a related set of
computer programs may be called
a "COMPUTER SOFTWARE"
Programming Concepts - 2
 Computer Languages (Full-Fledged):
High Level Programming Languages:
Usually English Like Instruction set with
a power to build application logic.
Usually have an extremely strict syntax
rules. e.g. C, Java, C++, C# etc.
Low Level Programming Languages:
Set of Hardware related Mnemonics for
direct control over processing and
input/output functions. E.g. Assembly
Language
Programming Concepts - 3
 Computer Languages (Specific
Purpose):
Formatting and Interface Languages:
Languages made primarily for the
purpose of User side rendering of
information. E.g. HTML, DHTML, XML
Etc.
Data Query Languages: Languages to
get and post to structured system of
records called a database. SQL etc.
Data Definition Languages: Languages
to define properties of Data or any type
of content items. E.g. XML Schema
(XSD), SQL-DDL (create table etc.)
Programming Logic and Algorithm
 Logic/Algorithm: Formulation
Involved in performing a task. For e.g.
◦ Fahrenheit to Celsius Conversion Formula.
◦ Writing of Data in a file one character at a
time or one block at a time.
◦ Compression of image file to a smaller size
file.
◦ Method of following a protocol such as the
HTTP protocol.
Usually these words are
interchangeably used but the word
algorithm is more suitable for specific
tasks which has a mathematical
model .
e.g. image compression is more
appropriately called algorithm while
writing to a file may just be called a
simple logic.
Program Running
 Interpretation:
◦ Process of parsing the program instructions
one by one so that it directly produces the
desired output.
◦ For e.g. JavaScript is interpreted at the
browser to run the given functionality.
◦ Errors in the program code are caught at the
time of running the program and are likely
hinder application workflow.
 Compilation:
◦ Process of parsing the program instructions
in one go and produce an intermediate file
that can be directly run by the host system.
◦ Errors are required to be removed before
compilation is successfully completed.
◦ Application workflow is usually not hindered
as basic errors are removed initially. Only
unexpected input conditions produce errors.
Programming Instruction Types (Based on Its Purpose)
 The Primary Purposes of
Programming Instructions are.
◦ To take Input.
◦ To give Output
◦ To perform operations.
◦ To run a program section
based on a condition selection.
◦ To repeat a section of code
based on condition.
 Think that a computer is a
generic machine that can
emulate other machines
based on the program it
runs.
INPUT
OUTPUT
OPERATE
SELECTION
REPETITION
/* A Sample Java Program */
package com.mycom.app
import java.util.Scanner;
public class Tokens
{
public static final String s = "Java";
public static void main(String[ ] args)
{
int i;
int sum = 0;
int num ;
Scanner in = new Scanner(System.in);
System.out.print("Enter a no.");
num = in.nextInt();
for (i = 1; i<= num; i++)
{
sum = sum + i;
}
System.out.println("Summation of "+num +" is :" +sum);
}
}
Keywords: The
instruction word used
in a certain language.
For eg. public, class,
int, for, static, final,
void, while etc.
Literals: User provided
strings or numbers etc.
Literals do not change.Operators: Things like
=,+, -, *, /, I , &, ++, ^ etc.
Identifiers: User
defined data item,
function or class
names etc.
Separators: Things like
{ }, ( ), [ ] , ; etc.
Comments: Text not
to be processed.
Programming Components (Tokens)
Programming Terms
 Statements: The actions that a program takes
are expressed as Statements. It is usually
considered as one full instruction step to be
executed at a time.
◦ Declaration and Assignment (int a=0;)
◦ Expression (area = 3.14*(radius*radius); )
◦ Selection or Iteration (if, switch, do, for etc.)
◦ Jump (break, continue, return etc.)
 Expressions: A sequence of one or more
operands and zero or more operators that can
be evaluated to a single output.
◦ ((x<10)&&(x>5))||((x > 20)&&(x < 25))
Programming Paradigms
 Declarative: What computation should be
performed and not how to compute it.
 Imperative (requiring attention): That define
sequence of tasks to control flow of computational
algorithm.
◦ Non-Structured: Allows Jumping randomly by line
numbers or labels. E.g. Basic, Assembly, Cobol, Batch
Files.
◦ Structured: Use only sequence, selection(condition) or
iteration(loop) methods to provide instructions. E.g. C,
C#, Java etc.
Structured Programming Models
 Procedural: Grouping of series of
instructions as a procedure (routine, function,
subroutine, method, module) that can be
called from multiple places to undertake the
same task again.
 Object Oriented: Allows to define templates
generally called classes, similar to real life
definitions that encapsulates various
properties and methods. For. E.g. real life
template “CAR” would mean properties like:
Colour, Body Style, Fuel Type and Methods
like: Driving( ), Changing Gears( ), Opening( )
Doors etc.
 The physical interpretations like MARUTI-
ALTO, HONDA-CITY, HUNDAI-SANTRO,
TATA-NANO are understood as the objects
of the class CAR. Thus the name has been
given as object oriented programming or
OOP.
Object Oriented Programming
 Class: A template definition of data items(properties) and
actions(Methods). For example the diagram of a CAR or
map of Building can be a real world metaphor to a class.
 Object: The physical item based on the class definition is
an object. For Example the real CAR or actual Building
would be an Object. So one can say Objects are instances
of Class.
 It is clear that one can have any number of instances as the
physical space permits.
NOTE: Although OBJECTS are physical entities and
CLASSES are simply templates, still OOPs concepts allow
realisation(instance creation) of objects within a class as
well.
Instance Creation Example
 In a real programming situation instances
(objects) are often created by using the "new"
keyword.
 Instances which are now called objects can
directly call any method of the class.
14
public class Book{
public int bookNum;
public void setNum(int Num){ bookNum =Num;}
public static void main(String[ ] args){
Book myBook=new Book(); //Instance Creation
myBook.setNum(2); //Calling method from the Instance
System.out.println("Num of book:"+myBook.bookNum);
//Using variable from the instance
}
}
OOPS - Inheritance
 Inheritance: One can observe that
even the template definitions have
more definitions of categories within
a template. For . E.g. Definition of a
"Car" can be the main template and
Definition of a "Small_Car" will be as
such a category with in "Car" .
 It is clear that the definition of a
"Small_Car" will have all the
definition items included in the
definition of a "Car" . So we can say
that class "Small_Car" can be
inherited from its parent class "Car"
. More properties may follow in the
definition of "Small_Car"
Class Car
Class Car
Class Small_Car
Class Big_Car
Inheritance Example
 In a real programming situation inheritance is often done using the
extends keyword (in java).
 Inherited classes are called the sub-class or child class, while the class
above is called super class or parent class.
16
public class Inheri{
public static void main(String[] args){
CopyBook cb = new CopyBook();
cb.setNum(4);
System.out.println("Book Number: "+cb.bookNum);
System.out.println("Blank Pages: "+cb.blankPages);
}
}
class Book{ //Parent Class
public int bookNum;
public void setNum(int Num){ bookNum =Num;}
}
class CopyBook extends Book { //Child Class
public int blankPages=100;
}
child class can use
variable or method from
a parent class as well as
its own class.
OOPS: Polymorphism
 Polymorphism: Values of different data types to be handled using a uniform
interface . For e.g. if we assume footControl( ) to be method in the class
CAR then this method can actually be behaving in a polymorphic manner if
the data parameter types are different, a clutch, a brake or an accelerator.
Class CAR
{
property wheelSize;
Method footControl(pedal clutch)
{
Detach Engine Rotor from Wheel Rotation Rod;
}
Method footControl(pedal brake)
{
Initiate Brake Fluid to Brake Drum;
}
Method footControl(pedal clutch, pedal accelerator)
{
Control Speed of the Car;
}
}
//polymorphism can be based on parameter types or number of parameters
Polymorphism Example
 In a real programming situation polymorphism is often implemented
using difference in argument count or argument type
 Polymorphism is another name of method overloading which can be
used for a method or for an operator (assuming it to be a special case of
method only as add(a,b) ).
19
public class Area {
static int QArea(int s){return s*s;}//1 int argument
static int QArea(int l, int b){return l*b;}//2 int args
static float QArea(float s){return s*s;}//1 float arg
public static void main(String args[]){
System.out.println("Square Area:"+QArea(5));
System.out.println("Rectangle Area:"+QArea(5,4));
System.out.println("Square Area (f):"+QArea(3.1f));
}
}
Here QArea is a polymorphic or
overloaded method with different
number of arguments and
argument types.
OOPS – Encapsulation & Abstraction
 Encapsulation: It is the way where actual methodology of
achieving a result is hidden from the external world users.
For e.g. we can define a class CAR as follows.
Class CAR
{
property colour;
Method Steering(turn)
{
if turn is anticlockwise make the front wheel go
left;
if turn is clockwise make the front wheel go right;
}
}
Here we see that method Steering( ) is actually hidden
behind the class CAR and details of the method are hidden
to the external world and whenever the designer wants he
can change the design of achieving the goal of turning the
steering handle. This is called ENCAPSULATION.
OOPS – Encapsulation & Abstraction
 Abstraction: In previous example we can see that user is
only required to know about turning the steering and he is
not required to bother about internal system of turning a
wheel.
So we can call the method Steering is as such an
ABSTRACT method made by ENCAPSULATING the action
that is taken when turning is done. The purpose of an
abstract method would be distinctly different from any other
method of the class CAR. The purpose we achieve out by
encapsulation is called ABSTRACTION.
 In Java, one can also use abstract keyword with a class to
indicate that it contains some methods that are abstract,
which contain only the declaration of method and not the
body of method.
Bibliography
 http://www.landofcode.com
 http://www.tutorialspoint.com/java
 http://www.javatpoint.com/
 http://docs.oracle.com/
THANK YOU…
 Ask me and guide me at
sunmitraeducation@gmail.com.
 Share this information with as many people
as possible.
 Keep visiting www.sunmitra.com for
programme updates.

More Related Content

What's hot (20)

Object oriented concepts
Object oriented conceptsObject oriented concepts
Object oriented concepts
Pranali Chaudhari
 
Object oriented programming in java
Object oriented programming in javaObject oriented programming in java
Object oriented programming in java
Elizabeth alexander
 
Oop c++class(final).ppt
Oop c++class(final).pptOop c++class(final).ppt
Oop c++class(final).ppt
Alok Kumar
 
Introduction to oop
Introduction to oopIntroduction to oop
Introduction to oop
colleges
 
Classes objects in java
Classes objects in javaClasses objects in java
Classes objects in java
Madishetty Prathibha
 
Object+oriented+programming+in+java
Object+oriented+programming+in+javaObject+oriented+programming+in+java
Object+oriented+programming+in+java
Ye Win
 
Oop in c++ lecture 1
Oop in c++  lecture 1Oop in c++  lecture 1
Oop in c++ lecture 1
zk75977
 
C++ classes
C++ classesC++ classes
C++ classes
imhammadali
 
Object Oriented Programming Concepts
Object Oriented Programming ConceptsObject Oriented Programming Concepts
Object Oriented Programming Concepts
Bhushan Nagaraj
 
Java Notes
Java NotesJava Notes
Java Notes
Abhishek Khune
 
OOP java
OOP javaOOP java
OOP java
xball977
 
Java Programming Paradigms Chapter 1
Java Programming Paradigms Chapter 1 Java Programming Paradigms Chapter 1
Java Programming Paradigms Chapter 1
Sakthi Durai
 
Oop java
Oop javaOop java
Oop java
Minal Maniar
 
Oop in kotlin
Oop in kotlinOop in kotlin
Oop in kotlin
Abdul Rahman Masri Attal
 
OOPS in Java
OOPS in JavaOOPS in Java
OOPS in Java
Zeeshan Khan
 
Object Oriented Programming
Object Oriented ProgrammingObject Oriented Programming
Object Oriented Programming
Iqra khalil
 
Introduction to Java
Introduction to JavaIntroduction to Java
Introduction to Java
Ashita Agrawal
 
Object oriented programming
Object oriented programmingObject oriented programming
Object oriented programming
Amit Soni (CTFL)
 
OOPs Concepts - Android Programming
OOPs Concepts - Android ProgrammingOOPs Concepts - Android Programming
OOPs Concepts - Android Programming
Purvik Rana
 
Learn Concept of Class and Object in C# Part 3
Learn Concept of Class and Object in C#  Part 3Learn Concept of Class and Object in C#  Part 3
Learn Concept of Class and Object in C# Part 3
C# Learning Classes
 
Object oriented programming in java
Object oriented programming in javaObject oriented programming in java
Object oriented programming in java
Elizabeth alexander
 
Oop c++class(final).ppt
Oop c++class(final).pptOop c++class(final).ppt
Oop c++class(final).ppt
Alok Kumar
 
Introduction to oop
Introduction to oopIntroduction to oop
Introduction to oop
colleges
 
Object+oriented+programming+in+java
Object+oriented+programming+in+javaObject+oriented+programming+in+java
Object+oriented+programming+in+java
Ye Win
 
Oop in c++ lecture 1
Oop in c++  lecture 1Oop in c++  lecture 1
Oop in c++ lecture 1
zk75977
 
Object Oriented Programming Concepts
Object Oriented Programming ConceptsObject Oriented Programming Concepts
Object Oriented Programming Concepts
Bhushan Nagaraj
 
Java Programming Paradigms Chapter 1
Java Programming Paradigms Chapter 1 Java Programming Paradigms Chapter 1
Java Programming Paradigms Chapter 1
Sakthi Durai
 
Object Oriented Programming
Object Oriented ProgrammingObject Oriented Programming
Object Oriented Programming
Iqra khalil
 
Object oriented programming
Object oriented programmingObject oriented programming
Object oriented programming
Amit Soni (CTFL)
 
OOPs Concepts - Android Programming
OOPs Concepts - Android ProgrammingOOPs Concepts - Android Programming
OOPs Concepts - Android Programming
Purvik Rana
 
Learn Concept of Class and Object in C# Part 3
Learn Concept of Class and Object in C#  Part 3Learn Concept of Class and Object in C#  Part 3
Learn Concept of Class and Object in C# Part 3
C# Learning Classes
 

Similar to Programming Fundamentals With OOPs Concepts (Java Examples Based) (20)

ProgrammingPrimerAndOOPS
ProgrammingPrimerAndOOPSProgrammingPrimerAndOOPS
ProgrammingPrimerAndOOPS
sunmitraeducation
 
JAVA-PPT'S-complete-chrome.pptx
JAVA-PPT'S-complete-chrome.pptxJAVA-PPT'S-complete-chrome.pptx
JAVA-PPT'S-complete-chrome.pptx
KunalYadav65140
 
JAVA-PPT'S.pptx
JAVA-PPT'S.pptxJAVA-PPT'S.pptx
JAVA-PPT'S.pptx
RaazIndia
 
General oop concept
General oop conceptGeneral oop concept
General oop concept
Avneesh Yadav
 
OOPJ.pptx
OOPJ.pptxOOPJ.pptx
OOPJ.pptx
ssuser99ca78
 
UNIT I OOP AND JAVA FUNDAMENTALS CONSTRUCTOR
UNIT I 	OOP AND JAVA FUNDAMENTALS CONSTRUCTORUNIT I 	OOP AND JAVA FUNDAMENTALS CONSTRUCTOR
UNIT I OOP AND JAVA FUNDAMENTALS CONSTRUCTOR
mohanrajm63
 
Lecture-1.pptx . this is about the computer program
Lecture-1.pptx . this is about the computer programLecture-1.pptx . this is about the computer program
Lecture-1.pptx . this is about the computer program
MuhammadUsmanYaseen2
 
Lecture 1.pptx
Lecture 1.pptxLecture 1.pptx
Lecture 1.pptx
MAHAMASADIK
 
Chapter no 1
Chapter no 1Chapter no 1
Chapter no 1
COMSATS Institute of Information Technology
 
Programming paradigms
Programming paradigmsProgramming paradigms
Programming paradigms
AVC College of Engineering
 
JAVA-PPT'S.pdf
JAVA-PPT'S.pdfJAVA-PPT'S.pdf
JAVA-PPT'S.pdf
AnmolVerma363503
 
OOP Lab-manual btech in cse kerala technological university
OOP Lab-manual btech in cse kerala technological universityOOP Lab-manual btech in cse kerala technological university
OOP Lab-manual btech in cse kerala technological university
seenamt1234
 
Basics of Java
Basics of JavaBasics of Java
Basics of Java
Prarabdh Garg
 
Java Programming - UNIT - 1, Basics OOPS, Differences
Java Programming - UNIT - 1, Basics OOPS, DifferencesJava Programming - UNIT - 1, Basics OOPS, Differences
Java Programming - UNIT - 1, Basics OOPS, Differences
PradeepT42
 
UNIT1-JAVA.pptx
UNIT1-JAVA.pptxUNIT1-JAVA.pptx
UNIT1-JAVA.pptx
ssuser99ca78
 
Oop.pptx
Oop.pptxOop.pptx
Oop.pptx
KalGetachew2
 
java part 1 computer science.pptx
java part 1 computer science.pptxjava part 1 computer science.pptx
java part 1 computer science.pptx
MUHAMMED MASHAHIL PUKKUNNUMMAL
 
a brief explanation on the topic of Imperative Programming Paradigm.pptx
a brief explanation on the topic of Imperative Programming Paradigm.pptxa brief explanation on the topic of Imperative Programming Paradigm.pptx
a brief explanation on the topic of Imperative Programming Paradigm.pptx
sajit20
 
Cs2305 programming paradigms lecturer notes
Cs2305   programming paradigms lecturer notesCs2305   programming paradigms lecturer notes
Cs2305 programming paradigms lecturer notes
Saravanakumar viswanathan
 
2.oop concept
2.oop concept2.oop concept
2.oop concept
Robbie AkaChopa
 
JAVA-PPT'S-complete-chrome.pptx
JAVA-PPT'S-complete-chrome.pptxJAVA-PPT'S-complete-chrome.pptx
JAVA-PPT'S-complete-chrome.pptx
KunalYadav65140
 
JAVA-PPT'S.pptx
JAVA-PPT'S.pptxJAVA-PPT'S.pptx
JAVA-PPT'S.pptx
RaazIndia
 
UNIT I OOP AND JAVA FUNDAMENTALS CONSTRUCTOR
UNIT I 	OOP AND JAVA FUNDAMENTALS CONSTRUCTORUNIT I 	OOP AND JAVA FUNDAMENTALS CONSTRUCTOR
UNIT I OOP AND JAVA FUNDAMENTALS CONSTRUCTOR
mohanrajm63
 
Lecture-1.pptx . this is about the computer program
Lecture-1.pptx . this is about the computer programLecture-1.pptx . this is about the computer program
Lecture-1.pptx . this is about the computer program
MuhammadUsmanYaseen2
 
OOP Lab-manual btech in cse kerala technological university
OOP Lab-manual btech in cse kerala technological universityOOP Lab-manual btech in cse kerala technological university
OOP Lab-manual btech in cse kerala technological university
seenamt1234
 
Java Programming - UNIT - 1, Basics OOPS, Differences
Java Programming - UNIT - 1, Basics OOPS, DifferencesJava Programming - UNIT - 1, Basics OOPS, Differences
Java Programming - UNIT - 1, Basics OOPS, Differences
PradeepT42
 
a brief explanation on the topic of Imperative Programming Paradigm.pptx
a brief explanation on the topic of Imperative Programming Paradigm.pptxa brief explanation on the topic of Imperative Programming Paradigm.pptx
a brief explanation on the topic of Imperative Programming Paradigm.pptx
sajit20
 
Ad

More from indiangarg (18)

Anger.pdf
Anger.pdfAnger.pdf
Anger.pdf
indiangarg
 
Vikars (विकार) explained in Vedic and Modern Context
Vikars (विकार) explained in Vedic and Modern ContextVikars (विकार) explained in Vedic and Modern Context
Vikars (विकार) explained in Vedic and Modern Context
indiangarg
 
Some Commonly asked Function/Objects Vs. header files (CBSE 12th Exam)
Some Commonly asked Function/Objects Vs. header files (CBSE 12th Exam)Some Commonly asked Function/Objects Vs. header files (CBSE 12th Exam)
Some Commonly asked Function/Objects Vs. header files (CBSE 12th Exam)
indiangarg
 
Preparing an Effective CV
Preparing an Effective CVPreparing an Effective CV
Preparing an Effective CV
indiangarg
 
Motivation
MotivationMotivation
Motivation
indiangarg
 
Attitude Towards Life
Attitude Towards LifeAttitude Towards Life
Attitude Towards Life
indiangarg
 
Goal setting
Goal settingGoal setting
Goal setting
indiangarg
 
Self confidence
Self confidenceSelf confidence
Self confidence
indiangarg
 
Android the sweetmobility
Android the sweetmobilityAndroid the sweetmobility
Android the sweetmobility
indiangarg
 
Time management
Time managementTime management
Time management
indiangarg
 
Handling action bar in Android
Handling action bar in AndroidHandling action bar in Android
Handling action bar in Android
indiangarg
 
Android Fundamentals, Architecture and Versions
Android Fundamentals, Architecture and VersionsAndroid Fundamentals, Architecture and Versions
Android Fundamentals, Architecture and Versions
indiangarg
 
Basics of XML
Basics of XMLBasics of XML
Basics of XML
indiangarg
 
Digital Image File Formats
Digital Image File FormatsDigital Image File Formats
Digital Image File Formats
indiangarg
 
Understanding Colors
Understanding ColorsUnderstanding Colors
Understanding Colors
indiangarg
 
Android application development fundamentals
Android application development fundamentalsAndroid application development fundamentals
Android application development fundamentals
indiangarg
 
07 cof-tea
07 cof-tea07 cof-tea
07 cof-tea
indiangarg
 
Mixing Cultures
Mixing CulturesMixing Cultures
Mixing Cultures
indiangarg
 
Vikars (विकार) explained in Vedic and Modern Context
Vikars (विकार) explained in Vedic and Modern ContextVikars (विकार) explained in Vedic and Modern Context
Vikars (विकार) explained in Vedic and Modern Context
indiangarg
 
Some Commonly asked Function/Objects Vs. header files (CBSE 12th Exam)
Some Commonly asked Function/Objects Vs. header files (CBSE 12th Exam)Some Commonly asked Function/Objects Vs. header files (CBSE 12th Exam)
Some Commonly asked Function/Objects Vs. header files (CBSE 12th Exam)
indiangarg
 
Preparing an Effective CV
Preparing an Effective CVPreparing an Effective CV
Preparing an Effective CV
indiangarg
 
Attitude Towards Life
Attitude Towards LifeAttitude Towards Life
Attitude Towards Life
indiangarg
 
Self confidence
Self confidenceSelf confidence
Self confidence
indiangarg
 
Android the sweetmobility
Android the sweetmobilityAndroid the sweetmobility
Android the sweetmobility
indiangarg
 
Time management
Time managementTime management
Time management
indiangarg
 
Handling action bar in Android
Handling action bar in AndroidHandling action bar in Android
Handling action bar in Android
indiangarg
 
Android Fundamentals, Architecture and Versions
Android Fundamentals, Architecture and VersionsAndroid Fundamentals, Architecture and Versions
Android Fundamentals, Architecture and Versions
indiangarg
 
Digital Image File Formats
Digital Image File FormatsDigital Image File Formats
Digital Image File Formats
indiangarg
 
Understanding Colors
Understanding ColorsUnderstanding Colors
Understanding Colors
indiangarg
 
Android application development fundamentals
Android application development fundamentalsAndroid application development fundamentals
Android application development fundamentals
indiangarg
 
Mixing Cultures
Mixing CulturesMixing Cultures
Mixing Cultures
indiangarg
 
Ad

Recently uploaded (20)

Oracle Cloud and AI Specialization Program
Oracle Cloud and AI Specialization ProgramOracle Cloud and AI Specialization Program
Oracle Cloud and AI Specialization Program
VICTOR MAESTRE RAMIREZ
 
FIDO Seminar: Authentication for a Billion Consumers - Amazon.pptx
FIDO Seminar: Authentication for a Billion Consumers - Amazon.pptxFIDO Seminar: Authentication for a Billion Consumers - Amazon.pptx
FIDO Seminar: Authentication for a Billion Consumers - Amazon.pptx
FIDO Alliance
 
Down the Rabbit Hole – Solving 5 Training Roadblocks
Down the Rabbit Hole – Solving 5 Training RoadblocksDown the Rabbit Hole – Solving 5 Training Roadblocks
Down the Rabbit Hole – Solving 5 Training Roadblocks
Rustici Software
 
FIDO Seminar: Perspectives on Passkeys & Consumer Adoption.pptx
FIDO Seminar: Perspectives on Passkeys & Consumer Adoption.pptxFIDO Seminar: Perspectives on Passkeys & Consumer Adoption.pptx
FIDO Seminar: Perspectives on Passkeys & Consumer Adoption.pptx
FIDO Alliance
 
PyData - Graph Theory for Multi-Agent Integration
PyData - Graph Theory for Multi-Agent IntegrationPyData - Graph Theory for Multi-Agent Integration
PyData - Graph Theory for Multi-Agent Integration
barqawicloud
 
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
Safe Software
 
Data Validation and System Interoperability
Data Validation and System InteroperabilityData Validation and System Interoperability
Data Validation and System Interoperability
Safe Software
 
Introduction to Typescript - GDG On Campus EUE
Introduction to Typescript - GDG On Campus EUEIntroduction to Typescript - GDG On Campus EUE
Introduction to Typescript - GDG On Campus EUE
Google Developer Group On Campus European Universities in Egypt
 
Mastering AI Workflows with FME - Peak of Data & AI 2025
Mastering AI Workflows with FME - Peak of Data & AI 2025Mastering AI Workflows with FME - Peak of Data & AI 2025
Mastering AI Workflows with FME - Peak of Data & AI 2025
Safe Software
 
vertical-cnc-processing-centers-drillteq-v-200-en.pdf
vertical-cnc-processing-centers-drillteq-v-200-en.pdfvertical-cnc-processing-centers-drillteq-v-200-en.pdf
vertical-cnc-processing-centers-drillteq-v-200-en.pdf
AmirStern2
 
FME for Good: Integrating Multiple Data Sources with APIs to Support Local Ch...
FME for Good: Integrating Multiple Data Sources with APIs to Support Local Ch...FME for Good: Integrating Multiple Data Sources with APIs to Support Local Ch...
FME for Good: Integrating Multiple Data Sources with APIs to Support Local Ch...
Safe Software
 
FIDO Seminar: New Data: Passkey Adoption in the Workforce.pptx
FIDO Seminar: New Data: Passkey Adoption in the Workforce.pptxFIDO Seminar: New Data: Passkey Adoption in the Workforce.pptx
FIDO Seminar: New Data: Passkey Adoption in the Workforce.pptx
FIDO Alliance
 
TrustArc Webinar - 2025 Global Privacy Survey
TrustArc Webinar - 2025 Global Privacy SurveyTrustArc Webinar - 2025 Global Privacy Survey
TrustArc Webinar - 2025 Global Privacy Survey
TrustArc
 
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptxFIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Alliance
 
Kubernetes Security Act Now Before It’s Too Late
Kubernetes Security Act Now Before It’s Too LateKubernetes Security Act Now Before It’s Too Late
Kubernetes Security Act Now Before It’s Too Late
Michael Furman
 
FME for Distribution & Transmission Integrity Management Program (DIMP & TIMP)
FME for Distribution & Transmission Integrity Management Program (DIMP & TIMP)FME for Distribution & Transmission Integrity Management Program (DIMP & TIMP)
FME for Distribution & Transmission Integrity Management Program (DIMP & TIMP)
Safe Software
 
Artificial Intelligence in the Nonprofit Boardroom.pdf
Artificial Intelligence in the Nonprofit Boardroom.pdfArtificial Intelligence in the Nonprofit Boardroom.pdf
Artificial Intelligence in the Nonprofit Boardroom.pdf
OnBoard
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Viral>Wondershare Filmora 14.5.18.12900 Crack Free Download
Viral>Wondershare Filmora 14.5.18.12900 Crack Free DownloadViral>Wondershare Filmora 14.5.18.12900 Crack Free Download
Viral>Wondershare Filmora 14.5.18.12900 Crack Free Download
Puppy jhon
 
No-Code Workflows for CAD & 3D Data: Scaling AI-Driven Infrastructure
No-Code Workflows for CAD & 3D Data: Scaling AI-Driven InfrastructureNo-Code Workflows for CAD & 3D Data: Scaling AI-Driven Infrastructure
No-Code Workflows for CAD & 3D Data: Scaling AI-Driven Infrastructure
Safe Software
 
Oracle Cloud and AI Specialization Program
Oracle Cloud and AI Specialization ProgramOracle Cloud and AI Specialization Program
Oracle Cloud and AI Specialization Program
VICTOR MAESTRE RAMIREZ
 
FIDO Seminar: Authentication for a Billion Consumers - Amazon.pptx
FIDO Seminar: Authentication for a Billion Consumers - Amazon.pptxFIDO Seminar: Authentication for a Billion Consumers - Amazon.pptx
FIDO Seminar: Authentication for a Billion Consumers - Amazon.pptx
FIDO Alliance
 
Down the Rabbit Hole – Solving 5 Training Roadblocks
Down the Rabbit Hole – Solving 5 Training RoadblocksDown the Rabbit Hole – Solving 5 Training Roadblocks
Down the Rabbit Hole – Solving 5 Training Roadblocks
Rustici Software
 
FIDO Seminar: Perspectives on Passkeys & Consumer Adoption.pptx
FIDO Seminar: Perspectives on Passkeys & Consumer Adoption.pptxFIDO Seminar: Perspectives on Passkeys & Consumer Adoption.pptx
FIDO Seminar: Perspectives on Passkeys & Consumer Adoption.pptx
FIDO Alliance
 
PyData - Graph Theory for Multi-Agent Integration
PyData - Graph Theory for Multi-Agent IntegrationPyData - Graph Theory for Multi-Agent Integration
PyData - Graph Theory for Multi-Agent Integration
barqawicloud
 
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
Safe Software
 
Data Validation and System Interoperability
Data Validation and System InteroperabilityData Validation and System Interoperability
Data Validation and System Interoperability
Safe Software
 
Mastering AI Workflows with FME - Peak of Data & AI 2025
Mastering AI Workflows with FME - Peak of Data & AI 2025Mastering AI Workflows with FME - Peak of Data & AI 2025
Mastering AI Workflows with FME - Peak of Data & AI 2025
Safe Software
 
vertical-cnc-processing-centers-drillteq-v-200-en.pdf
vertical-cnc-processing-centers-drillteq-v-200-en.pdfvertical-cnc-processing-centers-drillteq-v-200-en.pdf
vertical-cnc-processing-centers-drillteq-v-200-en.pdf
AmirStern2
 
FME for Good: Integrating Multiple Data Sources with APIs to Support Local Ch...
FME for Good: Integrating Multiple Data Sources with APIs to Support Local Ch...FME for Good: Integrating Multiple Data Sources with APIs to Support Local Ch...
FME for Good: Integrating Multiple Data Sources with APIs to Support Local Ch...
Safe Software
 
FIDO Seminar: New Data: Passkey Adoption in the Workforce.pptx
FIDO Seminar: New Data: Passkey Adoption in the Workforce.pptxFIDO Seminar: New Data: Passkey Adoption in the Workforce.pptx
FIDO Seminar: New Data: Passkey Adoption in the Workforce.pptx
FIDO Alliance
 
TrustArc Webinar - 2025 Global Privacy Survey
TrustArc Webinar - 2025 Global Privacy SurveyTrustArc Webinar - 2025 Global Privacy Survey
TrustArc Webinar - 2025 Global Privacy Survey
TrustArc
 
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptxFIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Alliance
 
Kubernetes Security Act Now Before It’s Too Late
Kubernetes Security Act Now Before It’s Too LateKubernetes Security Act Now Before It’s Too Late
Kubernetes Security Act Now Before It’s Too Late
Michael Furman
 
FME for Distribution & Transmission Integrity Management Program (DIMP & TIMP)
FME for Distribution & Transmission Integrity Management Program (DIMP & TIMP)FME for Distribution & Transmission Integrity Management Program (DIMP & TIMP)
FME for Distribution & Transmission Integrity Management Program (DIMP & TIMP)
Safe Software
 
Artificial Intelligence in the Nonprofit Boardroom.pdf
Artificial Intelligence in the Nonprofit Boardroom.pdfArtificial Intelligence in the Nonprofit Boardroom.pdf
Artificial Intelligence in the Nonprofit Boardroom.pdf
OnBoard
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Viral>Wondershare Filmora 14.5.18.12900 Crack Free Download
Viral>Wondershare Filmora 14.5.18.12900 Crack Free DownloadViral>Wondershare Filmora 14.5.18.12900 Crack Free Download
Viral>Wondershare Filmora 14.5.18.12900 Crack Free Download
Puppy jhon
 
No-Code Workflows for CAD & 3D Data: Scaling AI-Driven Infrastructure
No-Code Workflows for CAD & 3D Data: Scaling AI-Driven InfrastructureNo-Code Workflows for CAD & 3D Data: Scaling AI-Driven Infrastructure
No-Code Workflows for CAD & 3D Data: Scaling AI-Driven Infrastructure
Safe Software
 

Programming Fundamentals With OOPs Concepts (Java Examples Based)

  • 1. Copyright 2012-15 © Sunmitra Education Technologies Limited, India Programming Fundamentals with OOPs concept (Java Examples Based) "Fun of programming doubles if the fundamentals are crystal clear."
  • 2. OUTLINE Programming Concepts Programming Logic Program Running Components of a Program Programming Paradigms Structured Programming Object Oriented Programming Inheritance Interfaces Polymorphism Interface Encapsulation and Abstraction Bibliography
  • 3. Programming Concepts - 1  Computer Programming: It is a predefined way of telling the computer that what task is to be performed. It is the implementation part of the activity of "SOFTWARE DEVELOPMENT"  Computer Program: It is a set of sequence of instructions, that a computer will understand and try to execute. One or a related set of computer programs may be called a "COMPUTER SOFTWARE"
  • 4. Programming Concepts - 2  Computer Languages (Full-Fledged): High Level Programming Languages: Usually English Like Instruction set with a power to build application logic. Usually have an extremely strict syntax rules. e.g. C, Java, C++, C# etc. Low Level Programming Languages: Set of Hardware related Mnemonics for direct control over processing and input/output functions. E.g. Assembly Language
  • 5. Programming Concepts - 3  Computer Languages (Specific Purpose): Formatting and Interface Languages: Languages made primarily for the purpose of User side rendering of information. E.g. HTML, DHTML, XML Etc. Data Query Languages: Languages to get and post to structured system of records called a database. SQL etc. Data Definition Languages: Languages to define properties of Data or any type of content items. E.g. XML Schema (XSD), SQL-DDL (create table etc.)
  • 6. Programming Logic and Algorithm  Logic/Algorithm: Formulation Involved in performing a task. For e.g. ◦ Fahrenheit to Celsius Conversion Formula. ◦ Writing of Data in a file one character at a time or one block at a time. ◦ Compression of image file to a smaller size file. ◦ Method of following a protocol such as the HTTP protocol. Usually these words are interchangeably used but the word algorithm is more suitable for specific tasks which has a mathematical model . e.g. image compression is more appropriately called algorithm while writing to a file may just be called a simple logic.
  • 7. Program Running  Interpretation: ◦ Process of parsing the program instructions one by one so that it directly produces the desired output. ◦ For e.g. JavaScript is interpreted at the browser to run the given functionality. ◦ Errors in the program code are caught at the time of running the program and are likely hinder application workflow.  Compilation: ◦ Process of parsing the program instructions in one go and produce an intermediate file that can be directly run by the host system. ◦ Errors are required to be removed before compilation is successfully completed. ◦ Application workflow is usually not hindered as basic errors are removed initially. Only unexpected input conditions produce errors.
  • 8. Programming Instruction Types (Based on Its Purpose)  The Primary Purposes of Programming Instructions are. ◦ To take Input. ◦ To give Output ◦ To perform operations. ◦ To run a program section based on a condition selection. ◦ To repeat a section of code based on condition.  Think that a computer is a generic machine that can emulate other machines based on the program it runs. INPUT OUTPUT OPERATE SELECTION REPETITION
  • 9. /* A Sample Java Program */ package com.mycom.app import java.util.Scanner; public class Tokens { public static final String s = "Java"; public static void main(String[ ] args) { int i; int sum = 0; int num ; Scanner in = new Scanner(System.in); System.out.print("Enter a no."); num = in.nextInt(); for (i = 1; i<= num; i++) { sum = sum + i; } System.out.println("Summation of "+num +" is :" +sum); } } Keywords: The instruction word used in a certain language. For eg. public, class, int, for, static, final, void, while etc. Literals: User provided strings or numbers etc. Literals do not change.Operators: Things like =,+, -, *, /, I , &, ++, ^ etc. Identifiers: User defined data item, function or class names etc. Separators: Things like { }, ( ), [ ] , ; etc. Comments: Text not to be processed. Programming Components (Tokens)
  • 10. Programming Terms  Statements: The actions that a program takes are expressed as Statements. It is usually considered as one full instruction step to be executed at a time. ◦ Declaration and Assignment (int a=0;) ◦ Expression (area = 3.14*(radius*radius); ) ◦ Selection or Iteration (if, switch, do, for etc.) ◦ Jump (break, continue, return etc.)  Expressions: A sequence of one or more operands and zero or more operators that can be evaluated to a single output. ◦ ((x<10)&&(x>5))||((x > 20)&&(x < 25))
  • 11. Programming Paradigms  Declarative: What computation should be performed and not how to compute it.  Imperative (requiring attention): That define sequence of tasks to control flow of computational algorithm. ◦ Non-Structured: Allows Jumping randomly by line numbers or labels. E.g. Basic, Assembly, Cobol, Batch Files. ◦ Structured: Use only sequence, selection(condition) or iteration(loop) methods to provide instructions. E.g. C, C#, Java etc.
  • 12. Structured Programming Models  Procedural: Grouping of series of instructions as a procedure (routine, function, subroutine, method, module) that can be called from multiple places to undertake the same task again.  Object Oriented: Allows to define templates generally called classes, similar to real life definitions that encapsulates various properties and methods. For. E.g. real life template “CAR” would mean properties like: Colour, Body Style, Fuel Type and Methods like: Driving( ), Changing Gears( ), Opening( ) Doors etc.  The physical interpretations like MARUTI- ALTO, HONDA-CITY, HUNDAI-SANTRO, TATA-NANO are understood as the objects of the class CAR. Thus the name has been given as object oriented programming or OOP.
  • 13. Object Oriented Programming  Class: A template definition of data items(properties) and actions(Methods). For example the diagram of a CAR or map of Building can be a real world metaphor to a class.  Object: The physical item based on the class definition is an object. For Example the real CAR or actual Building would be an Object. So one can say Objects are instances of Class.  It is clear that one can have any number of instances as the physical space permits. NOTE: Although OBJECTS are physical entities and CLASSES are simply templates, still OOPs concepts allow realisation(instance creation) of objects within a class as well.
  • 14. Instance Creation Example  In a real programming situation instances (objects) are often created by using the "new" keyword.  Instances which are now called objects can directly call any method of the class. 14 public class Book{ public int bookNum; public void setNum(int Num){ bookNum =Num;} public static void main(String[ ] args){ Book myBook=new Book(); //Instance Creation myBook.setNum(2); //Calling method from the Instance System.out.println("Num of book:"+myBook.bookNum); //Using variable from the instance } }
  • 15. OOPS - Inheritance  Inheritance: One can observe that even the template definitions have more definitions of categories within a template. For . E.g. Definition of a "Car" can be the main template and Definition of a "Small_Car" will be as such a category with in "Car" .  It is clear that the definition of a "Small_Car" will have all the definition items included in the definition of a "Car" . So we can say that class "Small_Car" can be inherited from its parent class "Car" . More properties may follow in the definition of "Small_Car" Class Car Class Car Class Small_Car Class Big_Car
  • 16. Inheritance Example  In a real programming situation inheritance is often done using the extends keyword (in java).  Inherited classes are called the sub-class or child class, while the class above is called super class or parent class. 16 public class Inheri{ public static void main(String[] args){ CopyBook cb = new CopyBook(); cb.setNum(4); System.out.println("Book Number: "+cb.bookNum); System.out.println("Blank Pages: "+cb.blankPages); } } class Book{ //Parent Class public int bookNum; public void setNum(int Num){ bookNum =Num;} } class CopyBook extends Book { //Child Class public int blankPages=100; } child class can use variable or method from a parent class as well as its own class.
  • 17. OOPS: Polymorphism  Polymorphism: Values of different data types to be handled using a uniform interface . For e.g. if we assume footControl( ) to be method in the class CAR then this method can actually be behaving in a polymorphic manner if the data parameter types are different, a clutch, a brake or an accelerator. Class CAR { property wheelSize; Method footControl(pedal clutch) { Detach Engine Rotor from Wheel Rotation Rod; } Method footControl(pedal brake) { Initiate Brake Fluid to Brake Drum; } Method footControl(pedal clutch, pedal accelerator) { Control Speed of the Car; } } //polymorphism can be based on parameter types or number of parameters
  • 18. Polymorphism Example  In a real programming situation polymorphism is often implemented using difference in argument count or argument type  Polymorphism is another name of method overloading which can be used for a method or for an operator (assuming it to be a special case of method only as add(a,b) ). 19 public class Area { static int QArea(int s){return s*s;}//1 int argument static int QArea(int l, int b){return l*b;}//2 int args static float QArea(float s){return s*s;}//1 float arg public static void main(String args[]){ System.out.println("Square Area:"+QArea(5)); System.out.println("Rectangle Area:"+QArea(5,4)); System.out.println("Square Area (f):"+QArea(3.1f)); } } Here QArea is a polymorphic or overloaded method with different number of arguments and argument types.
  • 19. OOPS – Encapsulation & Abstraction  Encapsulation: It is the way where actual methodology of achieving a result is hidden from the external world users. For e.g. we can define a class CAR as follows. Class CAR { property colour; Method Steering(turn) { if turn is anticlockwise make the front wheel go left; if turn is clockwise make the front wheel go right; } } Here we see that method Steering( ) is actually hidden behind the class CAR and details of the method are hidden to the external world and whenever the designer wants he can change the design of achieving the goal of turning the steering handle. This is called ENCAPSULATION.
  • 20. OOPS – Encapsulation & Abstraction  Abstraction: In previous example we can see that user is only required to know about turning the steering and he is not required to bother about internal system of turning a wheel. So we can call the method Steering is as such an ABSTRACT method made by ENCAPSULATING the action that is taken when turning is done. The purpose of an abstract method would be distinctly different from any other method of the class CAR. The purpose we achieve out by encapsulation is called ABSTRACTION.  In Java, one can also use abstract keyword with a class to indicate that it contains some methods that are abstract, which contain only the declaration of method and not the body of method.
  • 21. Bibliography  http://www.landofcode.com  http://www.tutorialspoint.com/java  http://www.javatpoint.com/  http://docs.oracle.com/
  • 22. THANK YOU…  Ask me and guide me at [email protected].  Share this information with as many people as possible.  Keep visiting www.sunmitra.com for programme updates.