SlideShare a Scribd company logo
Introducing Object-Oriented
Programming (OOP)
By A.Hemlathadhevi
Programming Languages
• Programming languages allow programmers
to code software.
• The three major families of languages are:
– Machine languages
– Assembly languages
– High-Level languages
Machine Languages
• Comprised of 1s and 0s
• The “native” language of a computer
• Difficult to program – one misplaced 1 or 0
will cause the program to fail.
• Example of code:
1110100010101 111010101110
10111010110100 10100011110111
Assembly Languages
• Assembly languages are a step towards easier
programming.
• Assembly languages are comprised of a set of
elemental commands which are tied to a
specific processor.
• Assembly language code needs to be
translated to machine language before the
computer processes it.
• Example:
ADD 1001010, 1011010
High-Level Languages
• High-level languages represent a giant leap
towards easier programming.
• The syntax of HL languages is similar to
English.
• Historically, we divide HL languages into two
groups:
– Procedural languages
– Object-Oriented languages (OOP)
Procedural Languages
• Early high-level languages are typically called
procedural languages.
• Procedural languages are characterized by
sequential sets of linear commands. The focus
of such languages is on structure.
• Examples include C, COBOL, Fortran, LISP, Perl,
HTML, VBScript
Object Oriented Programming
• Object – Unique programming entity that has
methods, has attributes and can react to
events.
• Method – Things which an object can do; the
“verbs” of objects. In code, usually can be
identified by an “action” word -- Hide, Show
Object Oriented Programming
• Attribute – Things which describe an object;
the “adjectives” of objects. In code, usually
can be identified by a “descriptive” word –
Enabled, BackColor
• Events – Forces external to an object to which
that object can react. In code, usually attached
to an event procedure
Object Oriented Programming
• Class – Provides a way to create new objects
based on a “meta-definition” of an object
(Example: The automobile class)
• Constructors – Special methods used to create
new instances of a class (Example: A Honda
Civic is an instance of the automobile class.)
OOP - Encapsulation
• Incorporation into a class of data & operations
in one package
• Data can only be accessed through that
package
• “Information Hiding”
OOP - Inheritance
• Allows programmers to create new classes
based on an existing class
• Methods and attributes from the parent class
are inherited by the newly-created class
• New methods and attributes can be created in
the new class, but don’t affect the parent
class’s definition
OOP - Polymorphism
• Creating methods which describe the way to
do some general function (Example: The
“drive” method in the automobile class)
• Polymorphic methods can adapt to specific
types of objects.
Classes and Objects
• A class is a data type that allows programmers to
create objects. A class provides a definition for an
object, describing an object’s attributes (data)
and methods (operations).
• An object is an instance of a class. With one
class, you can have as many objects as required.
• This is analogous to a variable and a data type,
the class is the data type and the object is the
variable.
Thank you
• Mam, I learnt that, object is a instance of
class, and constructor is also a instance of a
class. How can it be possible mam?. Can you
please explain mam? But the declaration of a
object is different from constructor.(learnt
from c++) Please explain mam
• A class is a kind of data type, just like a string,
integer or list. When we create an object of
that data type, we call it an instance of a class.
• A constructor is a member function of a class
which initializes objects of a class. In C++,
Constructor is automatically called when
object(instance of class) create. It is special
member function of the class.
• How constructors are different from a normal
member function?
A constructor is different from normal
functions in following ways:
Constructor has same name as the class itself
Constructors don’t have return type
A constructor is automatically called when an
object is created.
If we do not specify a
constructor, C++ compiler
generates a default
constructor for us (expects
no parameters and has an
empty body).
• we have created a simple object and then we
assign values to each data member of the
class in the main function after reading these
values from the standard input. Then ,we will
take a look at a special function that is used to
initialize the object during its creation. This
special function is called a constructor.
because the constructor is a special member
function of class.
• 3 classs
What is java?
• Developed by Sun Microsystems (James Gosling)
• A general-purpose object-oriented language
• Based on C/C++
• Designed for easy Web/Internet applications
• Widespread acceptance
Java Features (1)
• Simple
– fixes some clumsy features of C++
– no pointers
– automatic garbage collection
– rich pre-defined class library http://java.sun.com/j2se/1.4.2/docs/api/
• Object oriented
– focus on the data (objects) and methods manipulating the data
– all functions are associated with objects
– almost all datatypes are objects (files, strings, etc.)
– potentially better code organization and reuse
• Interpreted
– java compiler generate byte-codes, not native machine code
– the compiled byte-codes are platform-independent
– java bytecodes are translated on the fly to machine readable
instructions in runtime (Java Virtual Machine)
• Portable
– same application runs on all platforms
– the sizes of the primitive data types are always the same
– the libraries define portable interfaces
Java Features (2)
Java Features (3)
• Reliable
– extensive compile-time and runtime error checking
– no pointers but real arrays. Memory corruptions or unauthorized
memory accesses are impossible
– automatic garbage collection tracks objects usage over time
• Secure
– usage in networked environments requires more security
– memory allocation model is a major defense
– access restrictions are forced (private, public)
Java Features (4)
• Multithreaded
– multiple concurrent threads of executions can run simultaneously
– utilizes a sophisticated set of synchronization primitives (based on
monitors and condition variables paradigm) to achieve this
• Dynamic
– java is designed to adapt to evolving environment
– libraries can freely add new methods and instance variables without
any effect on their clients
– interfaces promote flexibility and reusability in code by specifying a set
of methods an object can perform, but leaves open how these
methods should be implemented
– can check the class type in runtime
Java Disadvantages
• Slower than compiled language such as C
– an experiment in 1999 showed that Java was 3 or 4 times slower than
C or C++
title of the article: “Comparing Java vs. C/C++ Efficiency Issues to Interpersonal
Issues” (Lutz Prechelt)
– adequate for all but the most time-intensive programs

More Related Content

What's hot (19)

PPTX
Java Tutorial Lab 1
Berk Soysal
 
PPT
Comp102 lec 3
Fraz Bakhsh
 
PPTX
CS8392 OOP
DhanalakshmiVelusamy1
 
PPSX
Short notes of oop with java
Mohamed Fathy
 
PPTX
java training in jaipur|java training|core java training|java training compa...
infojaipurinfo Jaipur
 
PPTX
Classes objects in java
Madishetty Prathibha
 
PPTX
[OOP - Lec 04,05] Basic Building Blocks of OOP
Muhammad Hammad Waseem
 
PPTX
Java Programming Fundamentals
Dr. Rosemarie Sibbaluca-Guirre
 
PPT
Lambdas
malliksunkara
 
PPTX
C Sharp Course 101.5
Shahed Chowdhuri
 
PPTX
Scala, Play 2.0 & Cloud Foundry
Pray Desai
 
PPSX
Java & advanced java
BASAVARAJ HUNSHAL
 
PDF
Swing api
Ravi_Kant_Sahu
 
PPS
Introduction to Java
Ankita Totala
 
PPSX
Basic OOPS concept for Core JAVA
Ankita Totala
 
PPTX
Buffer and scanner
Arif Ullah
 
PPTX
Oopsinphp
NithyaNithyav
 
PPTX
Introduction to Scala
Rahul Jain
 
PPT
C sharp
Satish Verma
 
Java Tutorial Lab 1
Berk Soysal
 
Comp102 lec 3
Fraz Bakhsh
 
Short notes of oop with java
Mohamed Fathy
 
java training in jaipur|java training|core java training|java training compa...
infojaipurinfo Jaipur
 
Classes objects in java
Madishetty Prathibha
 
[OOP - Lec 04,05] Basic Building Blocks of OOP
Muhammad Hammad Waseem
 
Java Programming Fundamentals
Dr. Rosemarie Sibbaluca-Guirre
 
Lambdas
malliksunkara
 
C Sharp Course 101.5
Shahed Chowdhuri
 
Scala, Play 2.0 & Cloud Foundry
Pray Desai
 
Java & advanced java
BASAVARAJ HUNSHAL
 
Swing api
Ravi_Kant_Sahu
 
Introduction to Java
Ankita Totala
 
Basic OOPS concept for Core JAVA
Ankita Totala
 
Buffer and scanner
Arif Ullah
 
Oopsinphp
NithyaNithyav
 
Introduction to Scala
Rahul Jain
 
C sharp
Satish Verma
 

Similar to Introducing object oriented programming (oop) (20)

PPTX
Java Programming - UNIT - 1, Basics OOPS, Differences
PradeepT42
 
PPTX
Computer Science ACW Intro to OOP L7.pptx
EdmondLabule2
 
PPTX
General oop concept
Avneesh Yadav
 
PPTX
Letest
Prakash Poudel
 
PPTX
Java Programming concept
Prakash Poudel
 
DOCX
Object Oriented Programming All Unit Notes
BalamuruganV28
 
PDF
M.c.a. (sem iv)- java programming
Praveen Chowdary
 
PPTX
Introduction to Object Oriented Programming
Moutaz Haddara
 
PPTX
java introduction features and propertie
SanaMateen7
 
PPTX
Lec.01-03.pptx for object oriented programming language
zardariajiz
 
PDF
MCA NOTES.pdf
RAJASEKHARV10
 
PPTX
4-OOPS.pptx
SatyamMishra237306
 
PPTX
java oops and java very important for .pptx
cherukuriyuvaraju9
 
PPTX
java oops compilation object class inheritance.pptx
CHERUKURIYUVARAJU209
 
PPTX
2.3 Classes, Inheritance, Virtual Base Classes.pptx
cspratheekshaa29
 
PPTX
Programming using C++ - slides.pptx
HeadoftheDepartment
 
PPTX
1 Introduction to JAVA.pptx
Kabiles07
 
PDF
lecture-1111111111111111111111111111.pdf
harey68956
 
PPT
The smartpath information systems c plus plus
The Smartpath Information Systems,Bhilai,Durg,Chhattisgarh.
 
PPTX
object oriented programming in c++ introduction lecture 1.pptx
amna hussain
 
Java Programming - UNIT - 1, Basics OOPS, Differences
PradeepT42
 
Computer Science ACW Intro to OOP L7.pptx
EdmondLabule2
 
General oop concept
Avneesh Yadav
 
Java Programming concept
Prakash Poudel
 
Object Oriented Programming All Unit Notes
BalamuruganV28
 
M.c.a. (sem iv)- java programming
Praveen Chowdary
 
Introduction to Object Oriented Programming
Moutaz Haddara
 
java introduction features and propertie
SanaMateen7
 
Lec.01-03.pptx for object oriented programming language
zardariajiz
 
MCA NOTES.pdf
RAJASEKHARV10
 
4-OOPS.pptx
SatyamMishra237306
 
java oops and java very important for .pptx
cherukuriyuvaraju9
 
java oops compilation object class inheritance.pptx
CHERUKURIYUVARAJU209
 
2.3 Classes, Inheritance, Virtual Base Classes.pptx
cspratheekshaa29
 
Programming using C++ - slides.pptx
HeadoftheDepartment
 
1 Introduction to JAVA.pptx
Kabiles07
 
lecture-1111111111111111111111111111.pdf
harey68956
 
The smartpath information systems c plus plus
The Smartpath Information Systems,Bhilai,Durg,Chhattisgarh.
 
object oriented programming in c++ introduction lecture 1.pptx
amna hussain
 
Ad

Recently uploaded (20)

PPTX
美国电子版毕业证南卡罗莱纳大学上州分校水印成绩单USC学费发票定做学位证书编号怎么查
Taqyea
 
PPTX
Depth First Search Algorithm in 🧠 DFS in Artificial Intelligence (AI)
rafeeqshaik212002
 
PPTX
VITEEE 2026 Exam Details , Important Dates
SonaliSingh127098
 
PPTX
The Role of Information Technology in Environmental Protectio....pptx
nallamillisriram
 
PDF
Pressure Measurement training for engineers and Technicians
AIESOLUTIONS
 
PDF
AI TECHNIQUES FOR IDENTIFYING ALTERATIONS IN THE HUMAN GUT MICROBIOME IN MULT...
vidyalalltv1
 
PPTX
DATA BASE MANAGEMENT AND RELATIONAL DATA
gomathisankariv2
 
DOC
MRRS Strength and Durability of Concrete
CivilMythili
 
PDF
MAD Unit - 2 Activity and Fragment Management in Android (Diploma IT)
JappanMavani
 
PPTX
Arduino Based Gas Leakage Detector Project
CircuitDigest
 
PPTX
Shinkawa Proposal to meet Vibration API670.pptx
AchmadBashori2
 
PDF
smart lot access control system with eye
rasabzahra
 
PDF
Electrical Engineer operation Supervisor
ssaruntatapower143
 
PDF
Water Industry Process Automation & Control Monthly July 2025
Water Industry Process Automation & Control
 
PPTX
Introduction to Design of Machine Elements
PradeepKumarS27
 
PDF
Viol_Alessandro_Presentazione_prelaurea.pdf
dsecqyvhbowrzxshhf
 
PPTX
Mechanical Design of shell and tube heat exchangers as per ASME Sec VIII Divi...
shahveer210504
 
PPTX
GitOps_Without_K8s_Training_detailed git repository
DanialHabibi2
 
PPTX
fatigue in aircraft structures-221113192308-0ad6dc8c.pptx
aviatecofficial
 
PDF
International Journal of Information Technology Convergence and services (IJI...
ijitcsjournal4
 
美国电子版毕业证南卡罗莱纳大学上州分校水印成绩单USC学费发票定做学位证书编号怎么查
Taqyea
 
Depth First Search Algorithm in 🧠 DFS in Artificial Intelligence (AI)
rafeeqshaik212002
 
VITEEE 2026 Exam Details , Important Dates
SonaliSingh127098
 
The Role of Information Technology in Environmental Protectio....pptx
nallamillisriram
 
Pressure Measurement training for engineers and Technicians
AIESOLUTIONS
 
AI TECHNIQUES FOR IDENTIFYING ALTERATIONS IN THE HUMAN GUT MICROBIOME IN MULT...
vidyalalltv1
 
DATA BASE MANAGEMENT AND RELATIONAL DATA
gomathisankariv2
 
MRRS Strength and Durability of Concrete
CivilMythili
 
MAD Unit - 2 Activity and Fragment Management in Android (Diploma IT)
JappanMavani
 
Arduino Based Gas Leakage Detector Project
CircuitDigest
 
Shinkawa Proposal to meet Vibration API670.pptx
AchmadBashori2
 
smart lot access control system with eye
rasabzahra
 
Electrical Engineer operation Supervisor
ssaruntatapower143
 
Water Industry Process Automation & Control Monthly July 2025
Water Industry Process Automation & Control
 
Introduction to Design of Machine Elements
PradeepKumarS27
 
Viol_Alessandro_Presentazione_prelaurea.pdf
dsecqyvhbowrzxshhf
 
Mechanical Design of shell and tube heat exchangers as per ASME Sec VIII Divi...
shahveer210504
 
GitOps_Without_K8s_Training_detailed git repository
DanialHabibi2
 
fatigue in aircraft structures-221113192308-0ad6dc8c.pptx
aviatecofficial
 
International Journal of Information Technology Convergence and services (IJI...
ijitcsjournal4
 
Ad

Introducing object oriented programming (oop)

  • 2. Programming Languages • Programming languages allow programmers to code software. • The three major families of languages are: – Machine languages – Assembly languages – High-Level languages
  • 3. Machine Languages • Comprised of 1s and 0s • The “native” language of a computer • Difficult to program – one misplaced 1 or 0 will cause the program to fail. • Example of code: 1110100010101 111010101110 10111010110100 10100011110111
  • 4. Assembly Languages • Assembly languages are a step towards easier programming. • Assembly languages are comprised of a set of elemental commands which are tied to a specific processor. • Assembly language code needs to be translated to machine language before the computer processes it. • Example: ADD 1001010, 1011010
  • 5. High-Level Languages • High-level languages represent a giant leap towards easier programming. • The syntax of HL languages is similar to English. • Historically, we divide HL languages into two groups: – Procedural languages – Object-Oriented languages (OOP)
  • 6. Procedural Languages • Early high-level languages are typically called procedural languages. • Procedural languages are characterized by sequential sets of linear commands. The focus of such languages is on structure. • Examples include C, COBOL, Fortran, LISP, Perl, HTML, VBScript
  • 7. Object Oriented Programming • Object – Unique programming entity that has methods, has attributes and can react to events. • Method – Things which an object can do; the “verbs” of objects. In code, usually can be identified by an “action” word -- Hide, Show
  • 8. Object Oriented Programming • Attribute – Things which describe an object; the “adjectives” of objects. In code, usually can be identified by a “descriptive” word – Enabled, BackColor • Events – Forces external to an object to which that object can react. In code, usually attached to an event procedure
  • 9. Object Oriented Programming • Class – Provides a way to create new objects based on a “meta-definition” of an object (Example: The automobile class) • Constructors – Special methods used to create new instances of a class (Example: A Honda Civic is an instance of the automobile class.)
  • 10. OOP - Encapsulation • Incorporation into a class of data & operations in one package • Data can only be accessed through that package • “Information Hiding”
  • 11. OOP - Inheritance • Allows programmers to create new classes based on an existing class • Methods and attributes from the parent class are inherited by the newly-created class • New methods and attributes can be created in the new class, but don’t affect the parent class’s definition
  • 12. OOP - Polymorphism • Creating methods which describe the way to do some general function (Example: The “drive” method in the automobile class) • Polymorphic methods can adapt to specific types of objects.
  • 13. Classes and Objects • A class is a data type that allows programmers to create objects. A class provides a definition for an object, describing an object’s attributes (data) and methods (operations). • An object is an instance of a class. With one class, you can have as many objects as required. • This is analogous to a variable and a data type, the class is the data type and the object is the variable.
  • 15. • Mam, I learnt that, object is a instance of class, and constructor is also a instance of a class. How can it be possible mam?. Can you please explain mam? But the declaration of a object is different from constructor.(learnt from c++) Please explain mam
  • 16. • A class is a kind of data type, just like a string, integer or list. When we create an object of that data type, we call it an instance of a class.
  • 17. • A constructor is a member function of a class which initializes objects of a class. In C++, Constructor is automatically called when object(instance of class) create. It is special member function of the class.
  • 18. • How constructors are different from a normal member function? A constructor is different from normal functions in following ways: Constructor has same name as the class itself Constructors don’t have return type A constructor is automatically called when an object is created.
  • 19. If we do not specify a constructor, C++ compiler generates a default constructor for us (expects no parameters and has an empty body).
  • 20. • we have created a simple object and then we assign values to each data member of the class in the main function after reading these values from the standard input. Then ,we will take a look at a special function that is used to initialize the object during its creation. This special function is called a constructor.
  • 21. because the constructor is a special member function of class.
  • 23. What is java? • Developed by Sun Microsystems (James Gosling) • A general-purpose object-oriented language • Based on C/C++ • Designed for easy Web/Internet applications • Widespread acceptance
  • 24. Java Features (1) • Simple – fixes some clumsy features of C++ – no pointers – automatic garbage collection – rich pre-defined class library http://java.sun.com/j2se/1.4.2/docs/api/ • Object oriented – focus on the data (objects) and methods manipulating the data – all functions are associated with objects – almost all datatypes are objects (files, strings, etc.) – potentially better code organization and reuse
  • 25. • Interpreted – java compiler generate byte-codes, not native machine code – the compiled byte-codes are platform-independent – java bytecodes are translated on the fly to machine readable instructions in runtime (Java Virtual Machine) • Portable – same application runs on all platforms – the sizes of the primitive data types are always the same – the libraries define portable interfaces Java Features (2)
  • 26. Java Features (3) • Reliable – extensive compile-time and runtime error checking – no pointers but real arrays. Memory corruptions or unauthorized memory accesses are impossible – automatic garbage collection tracks objects usage over time • Secure – usage in networked environments requires more security – memory allocation model is a major defense – access restrictions are forced (private, public)
  • 27. Java Features (4) • Multithreaded – multiple concurrent threads of executions can run simultaneously – utilizes a sophisticated set of synchronization primitives (based on monitors and condition variables paradigm) to achieve this • Dynamic – java is designed to adapt to evolving environment – libraries can freely add new methods and instance variables without any effect on their clients – interfaces promote flexibility and reusability in code by specifying a set of methods an object can perform, but leaves open how these methods should be implemented – can check the class type in runtime
  • 28. Java Disadvantages • Slower than compiled language such as C – an experiment in 1999 showed that Java was 3 or 4 times slower than C or C++ title of the article: “Comparing Java vs. C/C++ Efficiency Issues to Interpersonal Issues” (Lutz Prechelt) – adequate for all but the most time-intensive programs