SlideShare une entreprise Scribd logo
1  sur  22
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.

Contenu connexe

Tendances

Object oriented programming in java
Object oriented programming in javaObject oriented programming in java
Object oriented programming in javaElizabeth alexander
 
Oop c++class(final).ppt
Oop c++class(final).pptOop c++class(final).ppt
Oop c++class(final).pptAlok Kumar
 
Introduction to oop
Introduction to oopIntroduction to oop
Introduction to oopcolleges
 
Object+oriented+programming+in+java
Object+oriented+programming+in+javaObject+oriented+programming+in+java
Object+oriented+programming+in+javaYe Win
 
Oop in c++ lecture 1
Oop in c++  lecture 1Oop in c++  lecture 1
Oop in c++ lecture 1zk75977
 
Object Oriented Programming Concepts
Object Oriented Programming ConceptsObject Oriented Programming Concepts
Object Oriented Programming ConceptsBhushan 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 ProgrammingIqra khalil
 
Object oriented programming
Object oriented programmingObject oriented programming
Object oriented programmingAmit Soni (CTFL)
 
OOPs Concepts - Android Programming
OOPs Concepts - Android ProgrammingOOPs Concepts - Android Programming
OOPs Concepts - Android ProgrammingPurvik 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 3C# Learning Classes
 

Tendances (20)

Object oriented concepts
Object oriented conceptsObject oriented concepts
Object oriented concepts
 
Object oriented programming in java
Object oriented programming in javaObject oriented programming in java
Object oriented programming in java
 
Oop c++class(final).ppt
Oop c++class(final).pptOop c++class(final).ppt
Oop c++class(final).ppt
 
Introduction to oop
Introduction to oopIntroduction to oop
Introduction to oop
 
Classes objects in java
Classes objects in javaClasses objects in java
Classes objects in java
 
Object+oriented+programming+in+java
Object+oriented+programming+in+javaObject+oriented+programming+in+java
Object+oriented+programming+in+java
 
Oop in c++ lecture 1
Oop in c++  lecture 1Oop in c++  lecture 1
Oop in c++ lecture 1
 
C++ classes
C++ classesC++ classes
C++ classes
 
Object Oriented Programming Concepts
Object Oriented Programming ConceptsObject Oriented Programming Concepts
Object Oriented Programming Concepts
 
Java Notes
Java NotesJava Notes
Java Notes
 
OOP java
OOP javaOOP java
OOP java
 
Java Programming Paradigms Chapter 1
Java Programming Paradigms Chapter 1 Java Programming Paradigms Chapter 1
Java Programming Paradigms Chapter 1
 
Oop java
Oop javaOop java
Oop java
 
Oop in kotlin
Oop in kotlinOop in kotlin
Oop in kotlin
 
OOPS in Java
OOPS in JavaOOPS in Java
OOPS in Java
 
Object Oriented Programming
Object Oriented ProgrammingObject Oriented Programming
Object Oriented Programming
 
Introduction to Java
Introduction to JavaIntroduction to Java
Introduction to Java
 
Object oriented programming
Object oriented programmingObject oriented programming
Object oriented programming
 
OOPs Concepts - Android Programming
OOPs Concepts - Android ProgrammingOOPs Concepts - Android Programming
OOPs Concepts - Android Programming
 
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
 

Similaire à Programming Fundamentals With OOPs Concepts (Java Examples Based)

Interoduction to c++
Interoduction to c++Interoduction to c++
Interoduction to c++Amresh Raj
 
Presentation 1st
Presentation 1stPresentation 1st
Presentation 1stConnex
 
SMI - Introduction to Java
SMI - Introduction to JavaSMI - Introduction to Java
SMI - Introduction to JavaSMIJava
 
Patterns in Python
Patterns in PythonPatterns in Python
Patterns in Pythondn
 
Cs6301 programming and datastactures
Cs6301 programming and datastacturesCs6301 programming and datastactures
Cs6301 programming and datastacturesK.s. Ramesh
 
Java For beginners and CSIT and IT students
Java  For beginners and CSIT and IT studentsJava  For beginners and CSIT and IT students
Java For beginners and CSIT and IT studentsPartnered Health
 
Introduction
IntroductionIntroduction
Introductionrichsoden
 
Object-oriented programming (OOP) with Complete understanding modules
Object-oriented programming (OOP) with Complete understanding modulesObject-oriented programming (OOP) with Complete understanding modules
Object-oriented programming (OOP) with Complete understanding modulesDurgesh Singh
 
Typescript language extension of java script
Typescript language extension of java scriptTypescript language extension of java script
Typescript language extension of java scriptmichaelaaron25322
 
Unit2 java
Unit2 javaUnit2 java
Unit2 javamrecedu
 
Intro To C++ - Class 05 - Introduction To Classes, Objects, & Strings
Intro To C++ - Class 05 - Introduction To  Classes, Objects, & StringsIntro To C++ - Class 05 - Introduction To  Classes, Objects, & Strings
Intro To C++ - Class 05 - Introduction To Classes, Objects, & StringsBlue Elephant Consulting
 
Understanding Framework Architecture using Eclipse
Understanding Framework Architecture using EclipseUnderstanding Framework Architecture using Eclipse
Understanding Framework Architecture using Eclipseanshunjain
 

Similaire à Programming Fundamentals With OOPs Concepts (Java Examples Based) (20)

ProgrammingPrimerAndOOPS
ProgrammingPrimerAndOOPSProgrammingPrimerAndOOPS
ProgrammingPrimerAndOOPS
 
Interoduction to c++
Interoduction to c++Interoduction to c++
Interoduction to c++
 
Presentation 1st
Presentation 1stPresentation 1st
Presentation 1st
 
SMI - Introduction to Java
SMI - Introduction to JavaSMI - Introduction to Java
SMI - Introduction to Java
 
JAVA_BASICS.ppt
JAVA_BASICS.pptJAVA_BASICS.ppt
JAVA_BASICS.ppt
 
Patterns in Python
Patterns in PythonPatterns in Python
Patterns in Python
 
Cs6301 programming and datastactures
Cs6301 programming and datastacturesCs6301 programming and datastactures
Cs6301 programming and datastactures
 
SRAVANByCPP
SRAVANByCPPSRAVANByCPP
SRAVANByCPP
 
Lecture 1.pptx
Lecture 1.pptxLecture 1.pptx
Lecture 1.pptx
 
iOS Application Development
iOS Application DevelopmentiOS Application Development
iOS Application Development
 
Java For beginners and CSIT and IT students
Java  For beginners and CSIT and IT studentsJava  For beginners and CSIT and IT students
Java For beginners and CSIT and IT students
 
Synapseindia dot net development
Synapseindia dot net developmentSynapseindia dot net development
Synapseindia dot net development
 
Introduction
IntroductionIntroduction
Introduction
 
Object-oriented programming (OOP) with Complete understanding modules
Object-oriented programming (OOP) with Complete understanding modulesObject-oriented programming (OOP) with Complete understanding modules
Object-oriented programming (OOP) with Complete understanding modules
 
Typescript language extension of java script
Typescript language extension of java scriptTypescript language extension of java script
Typescript language extension of java script
 
Unit2 java
Unit2 javaUnit2 java
Unit2 java
 
Csharp_mahesh
Csharp_maheshCsharp_mahesh
Csharp_mahesh
 
C++
C++C++
C++
 
Intro To C++ - Class 05 - Introduction To Classes, Objects, & Strings
Intro To C++ - Class 05 - Introduction To  Classes, Objects, & StringsIntro To C++ - Class 05 - Introduction To  Classes, Objects, & Strings
Intro To C++ - Class 05 - Introduction To Classes, Objects, & Strings
 
Understanding Framework Architecture using Eclipse
Understanding Framework Architecture using EclipseUnderstanding Framework Architecture using Eclipse
Understanding Framework Architecture using Eclipse
 

Plus de 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 Contextindiangarg
 
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 CVindiangarg
 
Attitude Towards Life
Attitude Towards LifeAttitude Towards Life
Attitude Towards Lifeindiangarg
 
Self confidence
Self confidenceSelf confidence
Self confidenceindiangarg
 
Android the sweetmobility
Android the sweetmobilityAndroid the sweetmobility
Android the sweetmobilityindiangarg
 
Time management
Time managementTime management
Time managementindiangarg
 
Handling action bar in Android
Handling action bar in AndroidHandling action bar in Android
Handling action bar in Androidindiangarg
 
Android Fundamentals, Architecture and Versions
Android Fundamentals, Architecture and VersionsAndroid Fundamentals, Architecture and Versions
Android Fundamentals, Architecture and Versionsindiangarg
 
Digital Image File Formats
Digital Image File FormatsDigital Image File Formats
Digital Image File Formatsindiangarg
 
Understanding Colors
Understanding ColorsUnderstanding Colors
Understanding Colorsindiangarg
 
Android application development fundamentals
Android application development fundamentalsAndroid application development fundamentals
Android application development fundamentalsindiangarg
 
Mixing Cultures
Mixing CulturesMixing Cultures
Mixing Culturesindiangarg
 

Plus de indiangarg (18)

Anger.pdf
Anger.pdfAnger.pdf
Anger.pdf
 
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
 
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)
 
Preparing an Effective CV
Preparing an Effective CVPreparing an Effective CV
Preparing an Effective CV
 
Motivation
MotivationMotivation
Motivation
 
Attitude Towards Life
Attitude Towards LifeAttitude Towards Life
Attitude Towards Life
 
Goal setting
Goal settingGoal setting
Goal setting
 
Self confidence
Self confidenceSelf confidence
Self confidence
 
Android the sweetmobility
Android the sweetmobilityAndroid the sweetmobility
Android the sweetmobility
 
Time management
Time managementTime management
Time management
 
Handling action bar in Android
Handling action bar in AndroidHandling action bar in Android
Handling action bar in Android
 
Android Fundamentals, Architecture and Versions
Android Fundamentals, Architecture and VersionsAndroid Fundamentals, Architecture and Versions
Android Fundamentals, Architecture and Versions
 
Basics of XML
Basics of XMLBasics of XML
Basics of XML
 
Digital Image File Formats
Digital Image File FormatsDigital Image File Formats
Digital Image File Formats
 
Understanding Colors
Understanding ColorsUnderstanding Colors
Understanding Colors
 
Android application development fundamentals
Android application development fundamentalsAndroid application development fundamentals
Android application development fundamentals
 
07 cof-tea
07 cof-tea07 cof-tea
07 cof-tea
 
Mixing Cultures
Mixing CulturesMixing Cultures
Mixing Cultures
 

Dernier

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKJago de Vreede
 

Dernier (20)

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 

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 sunmitraeducation@gmail.com.  Share this information with as many people as possible.  Keep visiting www.sunmitra.com for programme updates.